// Copyright 2015-2025 The Khronos Group Inc.
// 
// SPDX-License-Identifier: Apache-2.0 OR MIT
//

// This header is generated from the Khronos Vulkan XML API Registry.

#ifndef VULKAN_TO_STRING_HPP
#  define VULKAN_TO_STRING_HPP

#include <vulkan/vulkan.hpp>

// ignore warnings on using deprecated enum values in this header
#if defined( __clang__ ) || defined( __GNUC__ )
#  pragma GCC diagnostic push
#  pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#elif defined( _MSC_VER )
#  pragma warning( push )
#  pragma warning( disable : 4996 )
#endif

#if defined( VULKAN_HPP_ENABLE_STD_MODULE ) && defined( VULKAN_HPP_STD_MODULE )
import VULKAN_HPP_STD_MODULE;
#else
#  if __cpp_lib_format
#    include <format>   // std::format
#  else
#    include <sstream>  // std::stringstream
#  endif
#endif

namespace VULKAN_HPP_NAMESPACE
{

  //==========================
  //=== BITMASKs to_string ===
  //==========================


  //=== VK_VERSION_1_0 ===

  VULKAN_HPP_INLINE std::string to_string( FormatFeatureFlags value )
  {
    std::string result = "{";
    if ( value & FormatFeatureFlagBits::eSampledImage ) result += " SampledImage |";
    if ( value & FormatFeatureFlagBits::eStorageImage ) result += " StorageImage |";
    if ( value & FormatFeatureFlagBits::eStorageImageAtomic ) result += " StorageImageAtomic |";
    if ( value & FormatFeatureFlagBits::eUniformTexelBuffer ) result += " UniformTexelBuffer |";
    if ( value & FormatFeatureFlagBits::eStorageTexelBuffer ) result += " StorageTexelBuffer |";
    if ( value & FormatFeatureFlagBits::eStorageTexelBufferAtomic ) result += " StorageTexelBufferAtomic |";
    if ( value & FormatFeatureFlagBits::eVertexBuffer ) result += " VertexBuffer |";
    if ( value & FormatFeatureFlagBits::eColorAttachment ) result += " ColorAttachment |";
    if ( value & FormatFeatureFlagBits::eColorAttachmentBlend ) result += " ColorAttachmentBlend |";
    if ( value & FormatFeatureFlagBits::eDepthStencilAttachment ) result += " DepthStencilAttachment |";
    if ( value & FormatFeatureFlagBits::eBlitSrc ) result += " BlitSrc |";
    if ( value & FormatFeatureFlagBits::eBlitDst ) result += " BlitDst |";
    if ( value & FormatFeatureFlagBits::eSampledImageFilterLinear ) result += " SampledImageFilterLinear |";
    if ( value & FormatFeatureFlagBits::eTransferSrc ) result += " TransferSrc |";
    if ( value & FormatFeatureFlagBits::eTransferDst ) result += " TransferDst |";
    if ( value & FormatFeatureFlagBits::eMidpointChromaSamples ) result += " MidpointChromaSamples |";
    if ( value & FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter ) result += " SampledImageYcbcrConversionLinearFilter |";
    if ( value & FormatFeatureFlagBits::eSampledImageYcbcrConversionSeparateReconstructionFilter ) result += " SampledImageYcbcrConversionSeparateReconstructionFilter |";
    if ( value & FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicit ) result += " SampledImageYcbcrConversionChromaReconstructionExplicit |";
    if ( value & FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable ) result += " SampledImageYcbcrConversionChromaReconstructionExplicitForceable |";
    if ( value & FormatFeatureFlagBits::eDisjoint ) result += " Disjoint |";
    if ( value & FormatFeatureFlagBits::eCositedChromaSamples ) result += " CositedChromaSamples |";
    if ( value & FormatFeatureFlagBits::eSampledImageFilterMinmax ) result += " SampledImageFilterMinmax |";
    if ( value & FormatFeatureFlagBits::eVideoDecodeOutputKHR ) result += " VideoDecodeOutputKHR |";
    if ( value & FormatFeatureFlagBits::eVideoDecodeDpbKHR ) result += " VideoDecodeDpbKHR |";
    if ( value & FormatFeatureFlagBits::eAccelerationStructureVertexBufferKHR ) result += " AccelerationStructureVertexBufferKHR |";
    if ( value & FormatFeatureFlagBits::eSampledImageFilterCubicEXT ) result += " SampledImageFilterCubicEXT |";
    if ( value & FormatFeatureFlagBits::eFragmentDensityMapEXT ) result += " FragmentDensityMapEXT |";
    if ( value & FormatFeatureFlagBits::eFragmentShadingRateAttachmentKHR ) result += " FragmentShadingRateAttachmentKHR |";
    if ( value & FormatFeatureFlagBits::eVideoEncodeInputKHR ) result += " VideoEncodeInputKHR |";
    if ( value & FormatFeatureFlagBits::eVideoEncodeDpbKHR ) result += " VideoEncodeDpbKHR |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( ImageCreateFlags value )
  {
    std::string result = "{";
    if ( value & ImageCreateFlagBits::eSparseBinding ) result += " SparseBinding |";
    if ( value & ImageCreateFlagBits::eSparseResidency ) result += " SparseResidency |";
    if ( value & ImageCreateFlagBits::eSparseAliased ) result += " SparseAliased |";
    if ( value & ImageCreateFlagBits::eMutableFormat ) result += " MutableFormat |";
    if ( value & ImageCreateFlagBits::eCubeCompatible ) result += " CubeCompatible |";
    if ( value & ImageCreateFlagBits::eAlias ) result += " Alias |";
    if ( value & ImageCreateFlagBits::eSplitInstanceBindRegions ) result += " SplitInstanceBindRegions |";
    if ( value & ImageCreateFlagBits::e2DArrayCompatible ) result += " 2DArrayCompatible |";
    if ( value & ImageCreateFlagBits::eBlockTexelViewCompatible ) result += " BlockTexelViewCompatible |";
    if ( value & ImageCreateFlagBits::eExtendedUsage ) result += " ExtendedUsage |";
    if ( value & ImageCreateFlagBits::eProtected ) result += " Protected |";
    if ( value & ImageCreateFlagBits::eDisjoint ) result += " Disjoint |";
    if ( value & ImageCreateFlagBits::eCornerSampledNV ) result += " CornerSampledNV |";
    if ( value & ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT ) result += " SampleLocationsCompatibleDepthEXT |";
    if ( value & ImageCreateFlagBits::eSubsampledEXT ) result += " SubsampledEXT |";
    if ( value & ImageCreateFlagBits::eDescriptorBufferCaptureReplayEXT ) result += " DescriptorBufferCaptureReplayEXT |";
    if ( value & ImageCreateFlagBits::eMultisampledRenderToSingleSampledEXT ) result += " MultisampledRenderToSingleSampledEXT |";
    if ( value & ImageCreateFlagBits::e2DViewCompatibleEXT ) result += " 2DViewCompatibleEXT |";
    if ( value & ImageCreateFlagBits::eVideoProfileIndependentKHR ) result += " VideoProfileIndependentKHR |";
    if ( value & ImageCreateFlagBits::eFragmentDensityMapOffsetEXT ) result += " FragmentDensityMapOffsetEXT |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( ImageUsageFlags value )
  {
    std::string result = "{";
    if ( value & ImageUsageFlagBits::eTransferSrc ) result += " TransferSrc |";
    if ( value & ImageUsageFlagBits::eTransferDst ) result += " TransferDst |";
    if ( value & ImageUsageFlagBits::eSampled ) result += " Sampled |";
    if ( value & ImageUsageFlagBits::eStorage ) result += " Storage |";
    if ( value & ImageUsageFlagBits::eColorAttachment ) result += " ColorAttachment |";
    if ( value & ImageUsageFlagBits::eDepthStencilAttachment ) result += " DepthStencilAttachment |";
    if ( value & ImageUsageFlagBits::eTransientAttachment ) result += " TransientAttachment |";
    if ( value & ImageUsageFlagBits::eInputAttachment ) result += " InputAttachment |";
    if ( value & ImageUsageFlagBits::eHostTransfer ) result += " HostTransfer |";
    if ( value & ImageUsageFlagBits::eVideoDecodeDstKHR ) result += " VideoDecodeDstKHR |";
    if ( value & ImageUsageFlagBits::eVideoDecodeSrcKHR ) result += " VideoDecodeSrcKHR |";
    if ( value & ImageUsageFlagBits::eVideoDecodeDpbKHR ) result += " VideoDecodeDpbKHR |";
    if ( value & ImageUsageFlagBits::eFragmentDensityMapEXT ) result += " FragmentDensityMapEXT |";
    if ( value & ImageUsageFlagBits::eFragmentShadingRateAttachmentKHR ) result += " FragmentShadingRateAttachmentKHR |";
    if ( value & ImageUsageFlagBits::eVideoEncodeDstKHR ) result += " VideoEncodeDstKHR |";
    if ( value & ImageUsageFlagBits::eVideoEncodeSrcKHR ) result += " VideoEncodeSrcKHR |";
    if ( value & ImageUsageFlagBits::eVideoEncodeDpbKHR ) result += " VideoEncodeDpbKHR |";
    if ( value & ImageUsageFlagBits::eAttachmentFeedbackLoopEXT ) result += " AttachmentFeedbackLoopEXT |";
    if ( value & ImageUsageFlagBits::eInvocationMaskHUAWEI ) result += " InvocationMaskHUAWEI |";
    if ( value & ImageUsageFlagBits::eSampleWeightQCOM ) result += " SampleWeightQCOM |";
    if ( value & ImageUsageFlagBits::eSampleBlockMatchQCOM ) result += " SampleBlockMatchQCOM |";
    if ( value & ImageUsageFlagBits::eTensorAliasingARM ) result += " TensorAliasingARM |";
    if ( value & ImageUsageFlagBits::eTileMemoryQCOM ) result += " TileMemoryQCOM |";
    if ( value & ImageUsageFlagBits::eVideoEncodeQuantizationDeltaMapKHR ) result += " VideoEncodeQuantizationDeltaMapKHR |";
    if ( value & ImageUsageFlagBits::eVideoEncodeEmphasisMapKHR ) result += " VideoEncodeEmphasisMapKHR |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( InstanceCreateFlags value )
  {
    std::string result = "{";
    if ( value & InstanceCreateFlagBits::eEnumeratePortabilityKHR ) result += " EnumeratePortabilityKHR |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( MemoryHeapFlags value )
  {
    std::string result = "{";
    if ( value & MemoryHeapFlagBits::eDeviceLocal ) result += " DeviceLocal |";
    if ( value & MemoryHeapFlagBits::eMultiInstance ) result += " MultiInstance |";
    if ( value & MemoryHeapFlagBits::eTileMemoryQCOM ) result += " TileMemoryQCOM |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( MemoryPropertyFlags value )
  {
    std::string result = "{";
    if ( value & MemoryPropertyFlagBits::eDeviceLocal ) result += " DeviceLocal |";
    if ( value & MemoryPropertyFlagBits::eHostVisible ) result += " HostVisible |";
    if ( value & MemoryPropertyFlagBits::eHostCoherent ) result += " HostCoherent |";
    if ( value & MemoryPropertyFlagBits::eHostCached ) result += " HostCached |";
    if ( value & MemoryPropertyFlagBits::eLazilyAllocated ) result += " LazilyAllocated |";
    if ( value & MemoryPropertyFlagBits::eProtected ) result += " Protected |";
    if ( value & MemoryPropertyFlagBits::eDeviceCoherentAMD ) result += " DeviceCoherentAMD |";
    if ( value & MemoryPropertyFlagBits::eDeviceUncachedAMD ) result += " DeviceUncachedAMD |";
    if ( value & MemoryPropertyFlagBits::eRdmaCapableNV ) result += " RdmaCapableNV |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( QueueFlags value )
  {
    std::string result = "{";
    if ( value & QueueFlagBits::eGraphics ) result += " Graphics |";
    if ( value & QueueFlagBits::eCompute ) result += " Compute |";
    if ( value & QueueFlagBits::eTransfer ) result += " Transfer |";
    if ( value & QueueFlagBits::eSparseBinding ) result += " SparseBinding |";
    if ( value & QueueFlagBits::eProtected ) result += " Protected |";
    if ( value & QueueFlagBits::eVideoDecodeKHR ) result += " VideoDecodeKHR |";
    if ( value & QueueFlagBits::eVideoEncodeKHR ) result += " VideoEncodeKHR |";
    if ( value & QueueFlagBits::eOpticalFlowNV ) result += " OpticalFlowNV |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( SampleCountFlags value )
  {
    std::string result = "{";
    if ( value & SampleCountFlagBits::e1 ) result += " 1 |";
    if ( value & SampleCountFlagBits::e2 ) result += " 2 |";
    if ( value & SampleCountFlagBits::e4 ) result += " 4 |";
    if ( value & SampleCountFlagBits::e8 ) result += " 8 |";
    if ( value & SampleCountFlagBits::e16 ) result += " 16 |";
    if ( value & SampleCountFlagBits::e32 ) result += " 32 |";
    if ( value & SampleCountFlagBits::e64 ) result += " 64 |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DeviceCreateFlags )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE std::string to_string( DeviceQueueCreateFlags value )
  {
    std::string result = "{";
    if ( value & DeviceQueueCreateFlagBits::eProtected ) result += " Protected |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( PipelineStageFlags value )
  {
    std::string result = "{";
    if ( value & PipelineStageFlagBits::eTopOfPipe ) result += " TopOfPipe |";
    if ( value & PipelineStageFlagBits::eDrawIndirect ) result += " DrawIndirect |";
    if ( value & PipelineStageFlagBits::eVertexInput ) result += " VertexInput |";
    if ( value & PipelineStageFlagBits::eVertexShader ) result += " VertexShader |";
    if ( value & PipelineStageFlagBits::eTessellationControlShader ) result += " TessellationControlShader |";
    if ( value & PipelineStageFlagBits::eTessellationEvaluationShader ) result += " TessellationEvaluationShader |";
    if ( value & PipelineStageFlagBits::eGeometryShader ) result += " GeometryShader |";
    if ( value & PipelineStageFlagBits::eFragmentShader ) result += " FragmentShader |";
    if ( value & PipelineStageFlagBits::eEarlyFragmentTests ) result += " EarlyFragmentTests |";
    if ( value & PipelineStageFlagBits::eLateFragmentTests ) result += " LateFragmentTests |";
    if ( value & PipelineStageFlagBits::eColorAttachmentOutput ) result += " ColorAttachmentOutput |";
    if ( value & PipelineStageFlagBits::eComputeShader ) result += " ComputeShader |";
    if ( value & PipelineStageFlagBits::eTransfer ) result += " Transfer |";
    if ( value & PipelineStageFlagBits::eBottomOfPipe ) result += " BottomOfPipe |";
    if ( value & PipelineStageFlagBits::eHost ) result += " Host |";
    if ( value & PipelineStageFlagBits::eAllGraphics ) result += " AllGraphics |";
    if ( value & PipelineStageFlagBits::eAllCommands ) result += " AllCommands |";
    if ( value & PipelineStageFlagBits::eTransformFeedbackEXT ) result += " TransformFeedbackEXT |";
    if ( value & PipelineStageFlagBits::eConditionalRenderingEXT ) result += " ConditionalRenderingEXT |";
    if ( value & PipelineStageFlagBits::eAccelerationStructureBuildKHR ) result += " AccelerationStructureBuildKHR |";
    if ( value & PipelineStageFlagBits::eRayTracingShaderKHR ) result += " RayTracingShaderKHR |";
    if ( value & PipelineStageFlagBits::eFragmentDensityProcessEXT ) result += " FragmentDensityProcessEXT |";
    if ( value & PipelineStageFlagBits::eFragmentShadingRateAttachmentKHR ) result += " FragmentShadingRateAttachmentKHR |";
    if ( value & PipelineStageFlagBits::eTaskShaderEXT ) result += " TaskShaderEXT |";
    if ( value & PipelineStageFlagBits::eMeshShaderEXT ) result += " MeshShaderEXT |";
    if ( value & PipelineStageFlagBits::eCommandPreprocessEXT ) result += " CommandPreprocessEXT |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "None";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( MemoryMapFlags value )
  {
    std::string result = "{";
    if ( value & MemoryMapFlagBits::ePlacedEXT ) result += " PlacedEXT |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( ImageAspectFlags value )
  {
    std::string result = "{";
    if ( value & ImageAspectFlagBits::eColor ) result += " Color |";
    if ( value & ImageAspectFlagBits::eDepth ) result += " Depth |";
    if ( value & ImageAspectFlagBits::eStencil ) result += " Stencil |";
    if ( value & ImageAspectFlagBits::eMetadata ) result += " Metadata |";
    if ( value & ImageAspectFlagBits::ePlane0 ) result += " Plane0 |";
    if ( value & ImageAspectFlagBits::ePlane1 ) result += " Plane1 |";
    if ( value & ImageAspectFlagBits::ePlane2 ) result += " Plane2 |";
    if ( value & ImageAspectFlagBits::eMemoryPlane0EXT ) result += " MemoryPlane0EXT |";
    if ( value & ImageAspectFlagBits::eMemoryPlane1EXT ) result += " MemoryPlane1EXT |";
    if ( value & ImageAspectFlagBits::eMemoryPlane2EXT ) result += " MemoryPlane2EXT |";
    if ( value & ImageAspectFlagBits::eMemoryPlane3EXT ) result += " MemoryPlane3EXT |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "None";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( SparseImageFormatFlags value )
  {
    std::string result = "{";
    if ( value & SparseImageFormatFlagBits::eSingleMiptail ) result += " SingleMiptail |";
    if ( value & SparseImageFormatFlagBits::eAlignedMipSize ) result += " AlignedMipSize |";
    if ( value & SparseImageFormatFlagBits::eNonstandardBlockSize ) result += " NonstandardBlockSize |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( SparseMemoryBindFlags value )
  {
    std::string result = "{";
    if ( value & SparseMemoryBindFlagBits::eMetadata ) result += " Metadata |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( FenceCreateFlags value )
  {
    std::string result = "{";
    if ( value & FenceCreateFlagBits::eSignaled ) result += " Signaled |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SemaphoreCreateFlags )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE std::string to_string( EventCreateFlags value )
  {
    std::string result = "{";
    if ( value & EventCreateFlagBits::eDeviceOnly ) result += " DeviceOnly |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( QueryPipelineStatisticFlags value )
  {
    std::string result = "{";
    if ( value & QueryPipelineStatisticFlagBits::eInputAssemblyVertices ) result += " InputAssemblyVertices |";
    if ( value & QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives ) result += " InputAssemblyPrimitives |";
    if ( value & QueryPipelineStatisticFlagBits::eVertexShaderInvocations ) result += " VertexShaderInvocations |";
    if ( value & QueryPipelineStatisticFlagBits::eGeometryShaderInvocations ) result += " GeometryShaderInvocations |";
    if ( value & QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives ) result += " GeometryShaderPrimitives |";
    if ( value & QueryPipelineStatisticFlagBits::eClippingInvocations ) result += " ClippingInvocations |";
    if ( value & QueryPipelineStatisticFlagBits::eClippingPrimitives ) result += " ClippingPrimitives |";
    if ( value & QueryPipelineStatisticFlagBits::eFragmentShaderInvocations ) result += " FragmentShaderInvocations |";
    if ( value & QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches ) result += " TessellationControlShaderPatches |";
    if ( value & QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations ) result += " TessellationEvaluationShaderInvocations |";
    if ( value & QueryPipelineStatisticFlagBits::eComputeShaderInvocations ) result += " ComputeShaderInvocations |";
    if ( value & QueryPipelineStatisticFlagBits::eTaskShaderInvocationsEXT ) result += " TaskShaderInvocationsEXT |";
    if ( value & QueryPipelineStatisticFlagBits::eMeshShaderInvocationsEXT ) result += " MeshShaderInvocationsEXT |";
    if ( value & QueryPipelineStatisticFlagBits::eClusterCullingShaderInvocationsHUAWEI ) result += " ClusterCullingShaderInvocationsHUAWEI |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( QueryPoolCreateFlags value )
  {
    std::string result = "{";
    if ( value & QueryPoolCreateFlagBits::eResetKHR ) result += " ResetKHR |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( QueryResultFlags value )
  {
    std::string result = "{";
    if ( value & QueryResultFlagBits::e64 ) result += " 64 |";
    if ( value & QueryResultFlagBits::eWait ) result += " Wait |";
    if ( value & QueryResultFlagBits::eWithAvailability ) result += " WithAvailability |";
    if ( value & QueryResultFlagBits::ePartial ) result += " Partial |";
    if ( value & QueryResultFlagBits::eWithStatusKHR ) result += " WithStatusKHR |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( BufferCreateFlags value )
  {
    std::string result = "{";
    if ( value & BufferCreateFlagBits::eSparseBinding ) result += " SparseBinding |";
    if ( value & BufferCreateFlagBits::eSparseResidency ) result += " SparseResidency |";
    if ( value & BufferCreateFlagBits::eSparseAliased ) result += " SparseAliased |";
    if ( value & BufferCreateFlagBits::eProtected ) result += " Protected |";
    if ( value & BufferCreateFlagBits::eDeviceAddressCaptureReplay ) result += " DeviceAddressCaptureReplay |";
    if ( value & BufferCreateFlagBits::eDescriptorBufferCaptureReplayEXT ) result += " DescriptorBufferCaptureReplayEXT |";
    if ( value & BufferCreateFlagBits::eVideoProfileIndependentKHR ) result += " VideoProfileIndependentKHR |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( BufferUsageFlags value )
  {
    std::string result = "{";
    if ( value & BufferUsageFlagBits::eTransferSrc ) result += " TransferSrc |";
    if ( value & BufferUsageFlagBits::eTransferDst ) result += " TransferDst |";
    if ( value & BufferUsageFlagBits::eUniformTexelBuffer ) result += " UniformTexelBuffer |";
    if ( value & BufferUsageFlagBits::eStorageTexelBuffer ) result += " StorageTexelBuffer |";
    if ( value & BufferUsageFlagBits::eUniformBuffer ) result += " UniformBuffer |";
    if ( value & BufferUsageFlagBits::eStorageBuffer ) result += " StorageBuffer |";
    if ( value & BufferUsageFlagBits::eIndexBuffer ) result += " IndexBuffer |";
    if ( value & BufferUsageFlagBits::eVertexBuffer ) result += " VertexBuffer |";
    if ( value & BufferUsageFlagBits::eIndirectBuffer ) result += " IndirectBuffer |";
    if ( value & BufferUsageFlagBits::eShaderDeviceAddress ) result += " ShaderDeviceAddress |";
    if ( value & BufferUsageFlagBits::eVideoDecodeSrcKHR ) result += " VideoDecodeSrcKHR |";
    if ( value & BufferUsageFlagBits::eVideoDecodeDstKHR ) result += " VideoDecodeDstKHR |";
    if ( value & BufferUsageFlagBits::eTransformFeedbackBufferEXT ) result += " TransformFeedbackBufferEXT |";
    if ( value & BufferUsageFlagBits::eTransformFeedbackCounterBufferEXT ) result += " TransformFeedbackCounterBufferEXT |";
    if ( value & BufferUsageFlagBits::eConditionalRenderingEXT ) result += " ConditionalRenderingEXT |";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
    if ( value & BufferUsageFlagBits::eExecutionGraphScratchAMDX ) result += " ExecutionGraphScratchAMDX |";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
    if ( value & BufferUsageFlagBits::eAccelerationStructureBuildInputReadOnlyKHR ) result += " AccelerationStructureBuildInputReadOnlyKHR |";
    if ( value & BufferUsageFlagBits::eAccelerationStructureStorageKHR ) result += " AccelerationStructureStorageKHR |";
    if ( value & BufferUsageFlagBits::eShaderBindingTableKHR ) result += " ShaderBindingTableKHR |";
    if ( value & BufferUsageFlagBits::eVideoEncodeDstKHR ) result += " VideoEncodeDstKHR |";
    if ( value & BufferUsageFlagBits::eVideoEncodeSrcKHR ) result += " VideoEncodeSrcKHR |";
    if ( value & BufferUsageFlagBits::eSamplerDescriptorBufferEXT ) result += " SamplerDescriptorBufferEXT |";
    if ( value & BufferUsageFlagBits::eResourceDescriptorBufferEXT ) result += " ResourceDescriptorBufferEXT |";
    if ( value & BufferUsageFlagBits::ePushDescriptorsDescriptorBufferEXT ) result += " PushDescriptorsDescriptorBufferEXT |";
    if ( value & BufferUsageFlagBits::eMicromapBuildInputReadOnlyEXT ) result += " MicromapBuildInputReadOnlyEXT |";
    if ( value & BufferUsageFlagBits::eMicromapStorageEXT ) result += " MicromapStorageEXT |";
    if ( value & BufferUsageFlagBits::eTileMemoryQCOM ) result += " TileMemoryQCOM |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( BufferViewCreateFlags )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE std::string to_string( ImageViewCreateFlags value )
  {
    std::string result = "{";
    if ( value & ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT ) result += " FragmentDensityMapDynamicEXT |";
    if ( value & ImageViewCreateFlagBits::eDescriptorBufferCaptureReplayEXT ) result += " DescriptorBufferCaptureReplayEXT |";
    if ( value & ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT ) result += " FragmentDensityMapDeferredEXT |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ShaderModuleCreateFlags )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE std::string to_string( PipelineCacheCreateFlags value )
  {
    std::string result = "{";
    if ( value & PipelineCacheCreateFlagBits::eExternallySynchronized ) result += " ExternallySynchronized |";
    if ( value & PipelineCacheCreateFlagBits::eInternallySynchronizedMergeKHR ) result += " InternallySynchronizedMergeKHR |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( ColorComponentFlags value )
  {
    std::string result = "{";
    if ( value & ColorComponentFlagBits::eR ) result += " R |";
    if ( value & ColorComponentFlagBits::eG ) result += " G |";
    if ( value & ColorComponentFlagBits::eB ) result += " B |";
    if ( value & ColorComponentFlagBits::eA ) result += " A |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( CullModeFlags value )
  {
    std::string result = "{";
    if ( value & CullModeFlagBits::eFront ) result += " Front |";
    if ( value & CullModeFlagBits::eBack ) result += " Back |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "None";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( PipelineColorBlendStateCreateFlags value )
  {
    std::string result = "{";
    if ( value & PipelineColorBlendStateCreateFlagBits::eRasterizationOrderAttachmentAccessEXT ) result += " RasterizationOrderAttachmentAccessEXT |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( PipelineCreateFlags value )
  {
    std::string result = "{";
    if ( value & PipelineCreateFlagBits::eDisableOptimization ) result += " DisableOptimization |";
    if ( value & PipelineCreateFlagBits::eAllowDerivatives ) result += " AllowDerivatives |";
    if ( value & PipelineCreateFlagBits::eDerivative ) result += " Derivative |";
    if ( value & PipelineCreateFlagBits::eViewIndexFromDeviceIndex ) result += " ViewIndexFromDeviceIndex |";
    if ( value & PipelineCreateFlagBits::eDispatchBase ) result += " DispatchBase |";
    if ( value & PipelineCreateFlagBits::eFailOnPipelineCompileRequired ) result += " FailOnPipelineCompileRequired |";
    if ( value & PipelineCreateFlagBits::eEarlyReturnOnFailure ) result += " EarlyReturnOnFailure |";
    if ( value & PipelineCreateFlagBits::eNoProtectedAccess ) result += " NoProtectedAccess |";
    if ( value & PipelineCreateFlagBits::eProtectedAccessOnly ) result += " ProtectedAccessOnly |";
    if ( value & PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR ) result += " RayTracingNoNullAnyHitShadersKHR |";
    if ( value & PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR ) result += " RayTracingNoNullClosestHitShadersKHR |";
    if ( value & PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR ) result += " RayTracingNoNullMissShadersKHR |";
    if ( value & PipelineCreateFlagBits::eRayTracingNoNullIntersectionShadersKHR ) result += " RayTracingNoNullIntersectionShadersKHR |";
    if ( value & PipelineCreateFlagBits::eRayTracingSkipTrianglesKHR ) result += " RayTracingSkipTrianglesKHR |";
    if ( value & PipelineCreateFlagBits::eRayTracingSkipAabbsKHR ) result += " RayTracingSkipAabbsKHR |";
    if ( value & PipelineCreateFlagBits::eRayTracingShaderGroupHandleCaptureReplayKHR ) result += " RayTracingShaderGroupHandleCaptureReplayKHR |";
    if ( value & PipelineCreateFlagBits::eDeferCompileNV ) result += " DeferCompileNV |";
    if ( value & PipelineCreateFlagBits::eRenderingFragmentDensityMapAttachmentEXT ) result += " RenderingFragmentDensityMapAttachmentEXT |";
    if ( value & PipelineCreateFlagBits::eRenderingFragmentShadingRateAttachmentKHR ) result += " RenderingFragmentShadingRateAttachmentKHR |";
    if ( value & PipelineCreateFlagBits::eCaptureStatisticsKHR ) result += " CaptureStatisticsKHR |";
    if ( value & PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR ) result += " CaptureInternalRepresentationsKHR |";
    if ( value & PipelineCreateFlagBits::eIndirectBindableNV ) result += " IndirectBindableNV |";
    if ( value & PipelineCreateFlagBits::eLibraryKHR ) result += " LibraryKHR |";
    if ( value & PipelineCreateFlagBits::eDescriptorBufferEXT ) result += " DescriptorBufferEXT |";
    if ( value & PipelineCreateFlagBits::eRetainLinkTimeOptimizationInfoEXT ) result += " RetainLinkTimeOptimizationInfoEXT |";
    if ( value & PipelineCreateFlagBits::eLinkTimeOptimizationEXT ) result += " LinkTimeOptimizationEXT |";
    if ( value & PipelineCreateFlagBits::eRayTracingAllowMotionNV ) result += " RayTracingAllowMotionNV |";
    if ( value & PipelineCreateFlagBits::eColorAttachmentFeedbackLoopEXT ) result += " ColorAttachmentFeedbackLoopEXT |";
    if ( value & PipelineCreateFlagBits::eDepthStencilAttachmentFeedbackLoopEXT ) result += " DepthStencilAttachmentFeedbackLoopEXT |";
    if ( value & PipelineCreateFlagBits::eRayTracingOpacityMicromapEXT ) result += " RayTracingOpacityMicromapEXT |";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
    if ( value & PipelineCreateFlagBits::eRayTracingDisplacementMicromapNV ) result += " RayTracingDisplacementMicromapNV |";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( PipelineDepthStencilStateCreateFlags value )
  {
    std::string result = "{";
    if ( value & PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentDepthAccessEXT ) result += " RasterizationOrderAttachmentDepthAccessEXT |";
    if ( value & PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentStencilAccessEXT ) result += " RasterizationOrderAttachmentStencilAccessEXT |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineDynamicStateCreateFlags )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineInputAssemblyStateCreateFlags )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE std::string to_string( PipelineLayoutCreateFlags value )
  {
    std::string result = "{";
    if ( value & PipelineLayoutCreateFlagBits::eIndependentSetsEXT ) result += " IndependentSetsEXT |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineMultisampleStateCreateFlags )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineRasterizationStateCreateFlags )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE std::string to_string( PipelineShaderStageCreateFlags value )
  {
    std::string result = "{";
    if ( value & PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSize ) result += " AllowVaryingSubgroupSize |";
    if ( value & PipelineShaderStageCreateFlagBits::eRequireFullSubgroups ) result += " RequireFullSubgroups |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineTessellationStateCreateFlags )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineVertexInputStateCreateFlags )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineViewportStateCreateFlags )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE std::string to_string( ShaderStageFlags value )
  {
    std::string result = "{";
    if ( value & ShaderStageFlagBits::eVertex ) result += " Vertex |";
    if ( value & ShaderStageFlagBits::eTessellationControl ) result += " TessellationControl |";
    if ( value & ShaderStageFlagBits::eTessellationEvaluation ) result += " TessellationEvaluation |";
    if ( value & ShaderStageFlagBits::eGeometry ) result += " Geometry |";
    if ( value & ShaderStageFlagBits::eFragment ) result += " Fragment |";
    if ( value & ShaderStageFlagBits::eCompute ) result += " Compute |";
    if ( value & ShaderStageFlagBits::eRaygenKHR ) result += " RaygenKHR |";
    if ( value & ShaderStageFlagBits::eAnyHitKHR ) result += " AnyHitKHR |";
    if ( value & ShaderStageFlagBits::eClosestHitKHR ) result += " ClosestHitKHR |";
    if ( value & ShaderStageFlagBits::eMissKHR ) result += " MissKHR |";
    if ( value & ShaderStageFlagBits::eIntersectionKHR ) result += " IntersectionKHR |";
    if ( value & ShaderStageFlagBits::eCallableKHR ) result += " CallableKHR |";
    if ( value & ShaderStageFlagBits::eTaskEXT ) result += " TaskEXT |";
    if ( value & ShaderStageFlagBits::eMeshEXT ) result += " MeshEXT |";
    if ( value & ShaderStageFlagBits::eSubpassShadingHUAWEI ) result += " SubpassShadingHUAWEI |";
    if ( value & ShaderStageFlagBits::eClusterCullingHUAWEI ) result += " ClusterCullingHUAWEI |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( SamplerCreateFlags value )
  {
    std::string result = "{";
    if ( value & SamplerCreateFlagBits::eSubsampledEXT ) result += " SubsampledEXT |";
    if ( value & SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT ) result += " SubsampledCoarseReconstructionEXT |";
    if ( value & SamplerCreateFlagBits::eDescriptorBufferCaptureReplayEXT ) result += " DescriptorBufferCaptureReplayEXT |";
    if ( value & SamplerCreateFlagBits::eNonSeamlessCubeMapEXT ) result += " NonSeamlessCubeMapEXT |";
    if ( value & SamplerCreateFlagBits::eImageProcessingQCOM ) result += " ImageProcessingQCOM |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( DescriptorPoolCreateFlags value )
  {
    std::string result = "{";
    if ( value & DescriptorPoolCreateFlagBits::eFreeDescriptorSet ) result += " FreeDescriptorSet |";
    if ( value & DescriptorPoolCreateFlagBits::eUpdateAfterBind ) result += " UpdateAfterBind |";
    if ( value & DescriptorPoolCreateFlagBits::eHostOnlyEXT ) result += " HostOnlyEXT |";
    if ( value & DescriptorPoolCreateFlagBits::eAllowOverallocationSetsNV ) result += " AllowOverallocationSetsNV |";
    if ( value & DescriptorPoolCreateFlagBits::eAllowOverallocationPoolsNV ) result += " AllowOverallocationPoolsNV |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DescriptorPoolResetFlags )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE std::string to_string( DescriptorSetLayoutCreateFlags value )
  {
    std::string result = "{";
    if ( value & DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool ) result += " UpdateAfterBindPool |";
    if ( value & DescriptorSetLayoutCreateFlagBits::ePushDescriptor ) result += " PushDescriptor |";
    if ( value & DescriptorSetLayoutCreateFlagBits::eDescriptorBufferEXT ) result += " DescriptorBufferEXT |";
    if ( value & DescriptorSetLayoutCreateFlagBits::eEmbeddedImmutableSamplersEXT ) result += " EmbeddedImmutableSamplersEXT |";
    if ( value & DescriptorSetLayoutCreateFlagBits::eIndirectBindableNV ) result += " IndirectBindableNV |";
    if ( value & DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolEXT ) result += " HostOnlyPoolEXT |";
    if ( value & DescriptorSetLayoutCreateFlagBits::ePerStageNV ) result += " PerStageNV |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( AccessFlags value )
  {
    std::string result = "{";
    if ( value & AccessFlagBits::eIndirectCommandRead ) result += " IndirectCommandRead |";
    if ( value & AccessFlagBits::eIndexRead ) result += " IndexRead |";
    if ( value & AccessFlagBits::eVertexAttributeRead ) result += " VertexAttributeRead |";
    if ( value & AccessFlagBits::eUniformRead ) result += " UniformRead |";
    if ( value & AccessFlagBits::eInputAttachmentRead ) result += " InputAttachmentRead |";
    if ( value & AccessFlagBits::eShaderRead ) result += " ShaderRead |";
    if ( value & AccessFlagBits::eShaderWrite ) result += " ShaderWrite |";
    if ( value & AccessFlagBits::eColorAttachmentRead ) result += " ColorAttachmentRead |";
    if ( value & AccessFlagBits::eColorAttachmentWrite ) result += " ColorAttachmentWrite |";
    if ( value & AccessFlagBits::eDepthStencilAttachmentRead ) result += " DepthStencilAttachmentRead |";
    if ( value & AccessFlagBits::eDepthStencilAttachmentWrite ) result += " DepthStencilAttachmentWrite |";
    if ( value & AccessFlagBits::eTransferRead ) result += " TransferRead |";
    if ( value & AccessFlagBits::eTransferWrite ) result += " TransferWrite |";
    if ( value & AccessFlagBits::eHostRead ) result += " HostRead |";
    if ( value & AccessFlagBits::eHostWrite ) result += " HostWrite |";
    if ( value & AccessFlagBits::eMemoryRead ) result += " MemoryRead |";
    if ( value & AccessFlagBits::eMemoryWrite ) result += " MemoryWrite |";
    if ( value & AccessFlagBits::eTransformFeedbackWriteEXT ) result += " TransformFeedbackWriteEXT |";
    if ( value & AccessFlagBits::eTransformFeedbackCounterReadEXT ) result += " TransformFeedbackCounterReadEXT |";
    if ( value & AccessFlagBits::eTransformFeedbackCounterWriteEXT ) result += " TransformFeedbackCounterWriteEXT |";
    if ( value & AccessFlagBits::eConditionalRenderingReadEXT ) result += " ConditionalRenderingReadEXT |";
    if ( value & AccessFlagBits::eColorAttachmentReadNoncoherentEXT ) result += " ColorAttachmentReadNoncoherentEXT |";
    if ( value & AccessFlagBits::eAccelerationStructureReadKHR ) result += " AccelerationStructureReadKHR |";
    if ( value & AccessFlagBits::eAccelerationStructureWriteKHR ) result += " AccelerationStructureWriteKHR |";
    if ( value & AccessFlagBits::eFragmentDensityMapReadEXT ) result += " FragmentDensityMapReadEXT |";
    if ( value & AccessFlagBits::eFragmentShadingRateAttachmentReadKHR ) result += " FragmentShadingRateAttachmentReadKHR |";
    if ( value & AccessFlagBits::eCommandPreprocessReadEXT ) result += " CommandPreprocessReadEXT |";
    if ( value & AccessFlagBits::eCommandPreprocessWriteEXT ) result += " CommandPreprocessWriteEXT |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "None";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( AttachmentDescriptionFlags value )
  {
    std::string result = "{";
    if ( value & AttachmentDescriptionFlagBits::eMayAlias ) result += " MayAlias |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( DependencyFlags value )
  {
    std::string result = "{";
    if ( value & DependencyFlagBits::eByRegion ) result += " ByRegion |";
    if ( value & DependencyFlagBits::eDeviceGroup ) result += " DeviceGroup |";
    if ( value & DependencyFlagBits::eViewLocal ) result += " ViewLocal |";
    if ( value & DependencyFlagBits::eFeedbackLoopEXT ) result += " FeedbackLoopEXT |";
    if ( value & DependencyFlagBits::eQueueFamilyOwnershipTransferUseAllStagesKHR ) result += " QueueFamilyOwnershipTransferUseAllStagesKHR |";
    if ( value & DependencyFlagBits::eAsymmetricEventKHR ) result += " AsymmetricEventKHR |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( FramebufferCreateFlags value )
  {
    std::string result = "{";
    if ( value & FramebufferCreateFlagBits::eImageless ) result += " Imageless |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( RenderPassCreateFlags value )
  {
    std::string result = "{";
    if ( value & RenderPassCreateFlagBits::eTransformQCOM ) result += " TransformQCOM |";
    if ( value & RenderPassCreateFlagBits::ePerLayerFragmentDensityVALVE ) result += " PerLayerFragmentDensityVALVE |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( SubpassDescriptionFlags value )
  {
    std::string result = "{";
    if ( value & SubpassDescriptionFlagBits::ePerViewAttributesNVX ) result += " PerViewAttributesNVX |";
    if ( value & SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX ) result += " PerViewPositionXOnlyNVX |";
    if ( value & SubpassDescriptionFlagBits::eFragmentRegionQCOM ) result += " FragmentRegionQCOM |";
    if ( value & SubpassDescriptionFlagBits::eShaderResolveQCOM ) result += " ShaderResolveQCOM |";
    if ( value & SubpassDescriptionFlagBits::eTileShadingApronQCOM ) result += " TileShadingApronQCOM |";
    if ( value & SubpassDescriptionFlagBits::eRasterizationOrderAttachmentColorAccessEXT ) result += " RasterizationOrderAttachmentColorAccessEXT |";
    if ( value & SubpassDescriptionFlagBits::eRasterizationOrderAttachmentDepthAccessEXT ) result += " RasterizationOrderAttachmentDepthAccessEXT |";
    if ( value & SubpassDescriptionFlagBits::eRasterizationOrderAttachmentStencilAccessEXT ) result += " RasterizationOrderAttachmentStencilAccessEXT |";
    if ( value & SubpassDescriptionFlagBits::eEnableLegacyDitheringEXT ) result += " EnableLegacyDitheringEXT |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( CommandPoolCreateFlags value )
  {
    std::string result = "{";
    if ( value & CommandPoolCreateFlagBits::eTransient ) result += " Transient |";
    if ( value & CommandPoolCreateFlagBits::eResetCommandBuffer ) result += " ResetCommandBuffer |";
    if ( value & CommandPoolCreateFlagBits::eProtected ) result += " Protected |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( CommandPoolResetFlags value )
  {
    std::string result = "{";
    if ( value & CommandPoolResetFlagBits::eReleaseResources ) result += " ReleaseResources |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( CommandBufferResetFlags value )
  {
    std::string result = "{";
    if ( value & CommandBufferResetFlagBits::eReleaseResources ) result += " ReleaseResources |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( CommandBufferUsageFlags value )
  {
    std::string result = "{";
    if ( value & CommandBufferUsageFlagBits::eOneTimeSubmit ) result += " OneTimeSubmit |";
    if ( value & CommandBufferUsageFlagBits::eRenderPassContinue ) result += " RenderPassContinue |";
    if ( value & CommandBufferUsageFlagBits::eSimultaneousUse ) result += " SimultaneousUse |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( QueryControlFlags value )
  {
    std::string result = "{";
    if ( value & QueryControlFlagBits::ePrecise ) result += " Precise |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( StencilFaceFlags value )
  {
    std::string result = "{";
    if ( value & StencilFaceFlagBits::eFront ) result += " Front |";
    if ( value & StencilFaceFlagBits::eBack ) result += " Back |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_VERSION_1_1 ===

  VULKAN_HPP_INLINE std::string to_string( SubgroupFeatureFlags value )
  {
    std::string result = "{";
    if ( value & SubgroupFeatureFlagBits::eBasic ) result += " Basic |";
    if ( value & SubgroupFeatureFlagBits::eVote ) result += " Vote |";
    if ( value & SubgroupFeatureFlagBits::eArithmetic ) result += " Arithmetic |";
    if ( value & SubgroupFeatureFlagBits::eBallot ) result += " Ballot |";
    if ( value & SubgroupFeatureFlagBits::eShuffle ) result += " Shuffle |";
    if ( value & SubgroupFeatureFlagBits::eShuffleRelative ) result += " ShuffleRelative |";
    if ( value & SubgroupFeatureFlagBits::eClustered ) result += " Clustered |";
    if ( value & SubgroupFeatureFlagBits::eQuad ) result += " Quad |";
    if ( value & SubgroupFeatureFlagBits::eRotate ) result += " Rotate |";
    if ( value & SubgroupFeatureFlagBits::eRotateClustered ) result += " RotateClustered |";
    if ( value & SubgroupFeatureFlagBits::ePartitionedNV ) result += " PartitionedNV |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( PeerMemoryFeatureFlags value )
  {
    std::string result = "{";
    if ( value & PeerMemoryFeatureFlagBits::eCopySrc ) result += " CopySrc |";
    if ( value & PeerMemoryFeatureFlagBits::eCopyDst ) result += " CopyDst |";
    if ( value & PeerMemoryFeatureFlagBits::eGenericSrc ) result += " GenericSrc |";
    if ( value & PeerMemoryFeatureFlagBits::eGenericDst ) result += " GenericDst |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( MemoryAllocateFlags value )
  {
    std::string result = "{";
    if ( value & MemoryAllocateFlagBits::eDeviceMask ) result += " DeviceMask |";
    if ( value & MemoryAllocateFlagBits::eDeviceAddress ) result += " DeviceAddress |";
    if ( value & MemoryAllocateFlagBits::eDeviceAddressCaptureReplay ) result += " DeviceAddressCaptureReplay |";
    if ( value & MemoryAllocateFlagBits::eZeroInitializeEXT ) result += " ZeroInitializeEXT |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CommandPoolTrimFlags )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DescriptorUpdateTemplateCreateFlags )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE std::string to_string( ExternalMemoryHandleTypeFlags value )
  {
    std::string result = "{";
    if ( value & ExternalMemoryHandleTypeFlagBits::eOpaqueFd ) result += " OpaqueFd |";
    if ( value & ExternalMemoryHandleTypeFlagBits::eOpaqueWin32 ) result += " OpaqueWin32 |";
    if ( value & ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt ) result += " OpaqueWin32Kmt |";
    if ( value & ExternalMemoryHandleTypeFlagBits::eD3D11Texture ) result += " D3D11Texture |";
    if ( value & ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt ) result += " D3D11TextureKmt |";
    if ( value & ExternalMemoryHandleTypeFlagBits::eD3D12Heap ) result += " D3D12Heap |";
    if ( value & ExternalMemoryHandleTypeFlagBits::eD3D12Resource ) result += " D3D12Resource |";
    if ( value & ExternalMemoryHandleTypeFlagBits::eDmaBufEXT ) result += " DmaBufEXT |";
#if defined( VK_USE_PLATFORM_ANDROID_KHR )
    if ( value & ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID ) result += " AndroidHardwareBufferANDROID |";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
    if ( value & ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT ) result += " HostAllocationEXT |";
    if ( value & ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT ) result += " HostMappedForeignMemoryEXT |";
#if defined( VK_USE_PLATFORM_FUCHSIA )
    if ( value & ExternalMemoryHandleTypeFlagBits::eZirconVmoFUCHSIA ) result += " ZirconVmoFUCHSIA |";
#endif /*VK_USE_PLATFORM_FUCHSIA*/
    if ( value & ExternalMemoryHandleTypeFlagBits::eRdmaAddressNV ) result += " RdmaAddressNV |";
#if defined( VK_USE_PLATFORM_SCREEN_QNX )
    if ( value & ExternalMemoryHandleTypeFlagBits::eScreenBufferQNX ) result += " ScreenBufferQNX |";
#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
#if defined( VK_USE_PLATFORM_METAL_EXT )
    if ( value & ExternalMemoryHandleTypeFlagBits::eMtlbufferEXT ) result += " MtlbufferEXT |";
    if ( value & ExternalMemoryHandleTypeFlagBits::eMtltextureEXT ) result += " MtltextureEXT |";
    if ( value & ExternalMemoryHandleTypeFlagBits::eMtlheapEXT ) result += " MtlheapEXT |";
#endif /*VK_USE_PLATFORM_METAL_EXT*/

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( ExternalMemoryFeatureFlags value )
  {
    std::string result = "{";
    if ( value & ExternalMemoryFeatureFlagBits::eDedicatedOnly ) result += " DedicatedOnly |";
    if ( value & ExternalMemoryFeatureFlagBits::eExportable ) result += " Exportable |";
    if ( value & ExternalMemoryFeatureFlagBits::eImportable ) result += " Importable |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( ExternalFenceHandleTypeFlags value )
  {
    std::string result = "{";
    if ( value & ExternalFenceHandleTypeFlagBits::eOpaqueFd ) result += " OpaqueFd |";
    if ( value & ExternalFenceHandleTypeFlagBits::eOpaqueWin32 ) result += " OpaqueWin32 |";
    if ( value & ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt ) result += " OpaqueWin32Kmt |";
    if ( value & ExternalFenceHandleTypeFlagBits::eSyncFd ) result += " SyncFd |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( ExternalFenceFeatureFlags value )
  {
    std::string result = "{";
    if ( value & ExternalFenceFeatureFlagBits::eExportable ) result += " Exportable |";
    if ( value & ExternalFenceFeatureFlagBits::eImportable ) result += " Importable |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( FenceImportFlags value )
  {
    std::string result = "{";
    if ( value & FenceImportFlagBits::eTemporary ) result += " Temporary |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( SemaphoreImportFlags value )
  {
    std::string result = "{";
    if ( value & SemaphoreImportFlagBits::eTemporary ) result += " Temporary |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( ExternalSemaphoreHandleTypeFlags value )
  {
    std::string result = "{";
    if ( value & ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd ) result += " OpaqueFd |";
    if ( value & ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32 ) result += " OpaqueWin32 |";
    if ( value & ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt ) result += " OpaqueWin32Kmt |";
    if ( value & ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence ) result += " D3D12Fence |";
    if ( value & ExternalSemaphoreHandleTypeFlagBits::eSyncFd ) result += " SyncFd |";
#if defined( VK_USE_PLATFORM_FUCHSIA )
    if ( value & ExternalSemaphoreHandleTypeFlagBits::eZirconEventFUCHSIA ) result += " ZirconEventFUCHSIA |";
#endif /*VK_USE_PLATFORM_FUCHSIA*/

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( ExternalSemaphoreFeatureFlags value )
  {
    std::string result = "{";
    if ( value & ExternalSemaphoreFeatureFlagBits::eExportable ) result += " Exportable |";
    if ( value & ExternalSemaphoreFeatureFlagBits::eImportable ) result += " Importable |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_VERSION_1_2 ===

  VULKAN_HPP_INLINE std::string to_string( DescriptorBindingFlags value )
  {
    std::string result = "{";
    if ( value & DescriptorBindingFlagBits::eUpdateAfterBind ) result += " UpdateAfterBind |";
    if ( value & DescriptorBindingFlagBits::eUpdateUnusedWhilePending ) result += " UpdateUnusedWhilePending |";
    if ( value & DescriptorBindingFlagBits::ePartiallyBound ) result += " PartiallyBound |";
    if ( value & DescriptorBindingFlagBits::eVariableDescriptorCount ) result += " VariableDescriptorCount |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( ResolveModeFlags value )
  {
    std::string result = "{";
    if ( value & ResolveModeFlagBits::eSampleZero ) result += " SampleZero |";
    if ( value & ResolveModeFlagBits::eAverage ) result += " Average |";
    if ( value & ResolveModeFlagBits::eMin ) result += " Min |";
    if ( value & ResolveModeFlagBits::eMax ) result += " Max |";
#if defined( VK_USE_PLATFORM_ANDROID_KHR )
    if ( value & ResolveModeFlagBits::eExternalFormatDownsampleANDROID ) result += " ExternalFormatDownsampleANDROID |";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "None";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( SemaphoreWaitFlags value )
  {
    std::string result = "{";
    if ( value & SemaphoreWaitFlagBits::eAny ) result += " Any |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_VERSION_1_3 ===

  VULKAN_HPP_INLINE std::string to_string( PipelineCreationFeedbackFlags value )
  {
    std::string result = "{";
    if ( value & PipelineCreationFeedbackFlagBits::eValid ) result += " Valid |";
    if ( value & PipelineCreationFeedbackFlagBits::eApplicationPipelineCacheHit ) result += " ApplicationPipelineCacheHit |";
    if ( value & PipelineCreationFeedbackFlagBits::eBasePipelineAcceleration ) result += " BasePipelineAcceleration |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( ToolPurposeFlags value )
  {
    std::string result = "{";
    if ( value & ToolPurposeFlagBits::eValidation ) result += " Validation |";
    if ( value & ToolPurposeFlagBits::eProfiling ) result += " Profiling |";
    if ( value & ToolPurposeFlagBits::eTracing ) result += " Tracing |";
    if ( value & ToolPurposeFlagBits::eAdditionalFeatures ) result += " AdditionalFeatures |";
    if ( value & ToolPurposeFlagBits::eModifyingFeatures ) result += " ModifyingFeatures |";
    if ( value & ToolPurposeFlagBits::eDebugReportingEXT ) result += " DebugReportingEXT |";
    if ( value & ToolPurposeFlagBits::eDebugMarkersEXT ) result += " DebugMarkersEXT |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PrivateDataSlotCreateFlags )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE std::string to_string( PipelineStageFlags2 value )
  {
    std::string result = "{";
    if ( value & PipelineStageFlagBits2::eTopOfPipe ) result += " TopOfPipe |";
    if ( value & PipelineStageFlagBits2::eDrawIndirect ) result += " DrawIndirect |";
    if ( value & PipelineStageFlagBits2::eVertexInput ) result += " VertexInput |";
    if ( value & PipelineStageFlagBits2::eVertexShader ) result += " VertexShader |";
    if ( value & PipelineStageFlagBits2::eTessellationControlShader ) result += " TessellationControlShader |";
    if ( value & PipelineStageFlagBits2::eTessellationEvaluationShader ) result += " TessellationEvaluationShader |";
    if ( value & PipelineStageFlagBits2::eGeometryShader ) result += " GeometryShader |";
    if ( value & PipelineStageFlagBits2::eFragmentShader ) result += " FragmentShader |";
    if ( value & PipelineStageFlagBits2::eEarlyFragmentTests ) result += " EarlyFragmentTests |";
    if ( value & PipelineStageFlagBits2::eLateFragmentTests ) result += " LateFragmentTests |";
    if ( value & PipelineStageFlagBits2::eColorAttachmentOutput ) result += " ColorAttachmentOutput |";
    if ( value & PipelineStageFlagBits2::eComputeShader ) result += " ComputeShader |";
    if ( value & PipelineStageFlagBits2::eAllTransfer ) result += " AllTransfer |";
    if ( value & PipelineStageFlagBits2::eBottomOfPipe ) result += " BottomOfPipe |";
    if ( value & PipelineStageFlagBits2::eHost ) result += " Host |";
    if ( value & PipelineStageFlagBits2::eAllGraphics ) result += " AllGraphics |";
    if ( value & PipelineStageFlagBits2::eAllCommands ) result += " AllCommands |";
    if ( value & PipelineStageFlagBits2::eCopy ) result += " Copy |";
    if ( value & PipelineStageFlagBits2::eResolve ) result += " Resolve |";
    if ( value & PipelineStageFlagBits2::eBlit ) result += " Blit |";
    if ( value & PipelineStageFlagBits2::eClear ) result += " Clear |";
    if ( value & PipelineStageFlagBits2::eIndexInput ) result += " IndexInput |";
    if ( value & PipelineStageFlagBits2::eVertexAttributeInput ) result += " VertexAttributeInput |";
    if ( value & PipelineStageFlagBits2::ePreRasterizationShaders ) result += " PreRasterizationShaders |";
    if ( value & PipelineStageFlagBits2::eVideoDecodeKHR ) result += " VideoDecodeKHR |";
    if ( value & PipelineStageFlagBits2::eVideoEncodeKHR ) result += " VideoEncodeKHR |";
    if ( value & PipelineStageFlagBits2::eTransformFeedbackEXT ) result += " TransformFeedbackEXT |";
    if ( value & PipelineStageFlagBits2::eConditionalRenderingEXT ) result += " ConditionalRenderingEXT |";
    if ( value & PipelineStageFlagBits2::eCommandPreprocessEXT ) result += " CommandPreprocessEXT |";
    if ( value & PipelineStageFlagBits2::eFragmentShadingRateAttachmentKHR ) result += " FragmentShadingRateAttachmentKHR |";
    if ( value & PipelineStageFlagBits2::eAccelerationStructureBuildKHR ) result += " AccelerationStructureBuildKHR |";
    if ( value & PipelineStageFlagBits2::eRayTracingShaderKHR ) result += " RayTracingShaderKHR |";
    if ( value & PipelineStageFlagBits2::eFragmentDensityProcessEXT ) result += " FragmentDensityProcessEXT |";
    if ( value & PipelineStageFlagBits2::eTaskShaderEXT ) result += " TaskShaderEXT |";
    if ( value & PipelineStageFlagBits2::eMeshShaderEXT ) result += " MeshShaderEXT |";
    if ( value & PipelineStageFlagBits2::eSubpassShaderHUAWEI ) result += " SubpassShaderHUAWEI |";
    if ( value & PipelineStageFlagBits2::eInvocationMaskHUAWEI ) result += " InvocationMaskHUAWEI |";
    if ( value & PipelineStageFlagBits2::eAccelerationStructureCopyKHR ) result += " AccelerationStructureCopyKHR |";
    if ( value & PipelineStageFlagBits2::eMicromapBuildEXT ) result += " MicromapBuildEXT |";
    if ( value & PipelineStageFlagBits2::eClusterCullingShaderHUAWEI ) result += " ClusterCullingShaderHUAWEI |";
    if ( value & PipelineStageFlagBits2::eOpticalFlowNV ) result += " OpticalFlowNV |";
    if ( value & PipelineStageFlagBits2::eConvertCooperativeVectorMatrixNV ) result += " ConvertCooperativeVectorMatrixNV |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "None";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( AccessFlags2 value )
  {
    std::string result = "{";
    if ( value & AccessFlagBits2::eIndirectCommandRead ) result += " IndirectCommandRead |";
    if ( value & AccessFlagBits2::eIndexRead ) result += " IndexRead |";
    if ( value & AccessFlagBits2::eVertexAttributeRead ) result += " VertexAttributeRead |";
    if ( value & AccessFlagBits2::eUniformRead ) result += " UniformRead |";
    if ( value & AccessFlagBits2::eInputAttachmentRead ) result += " InputAttachmentRead |";
    if ( value & AccessFlagBits2::eShaderRead ) result += " ShaderRead |";
    if ( value & AccessFlagBits2::eShaderWrite ) result += " ShaderWrite |";
    if ( value & AccessFlagBits2::eColorAttachmentRead ) result += " ColorAttachmentRead |";
    if ( value & AccessFlagBits2::eColorAttachmentWrite ) result += " ColorAttachmentWrite |";
    if ( value & AccessFlagBits2::eDepthStencilAttachmentRead ) result += " DepthStencilAttachmentRead |";
    if ( value & AccessFlagBits2::eDepthStencilAttachmentWrite ) result += " DepthStencilAttachmentWrite |";
    if ( value & AccessFlagBits2::eTransferRead ) result += " TransferRead |";
    if ( value & AccessFlagBits2::eTransferWrite ) result += " TransferWrite |";
    if ( value & AccessFlagBits2::eHostRead ) result += " HostRead |";
    if ( value & AccessFlagBits2::eHostWrite ) result += " HostWrite |";
    if ( value & AccessFlagBits2::eMemoryRead ) result += " MemoryRead |";
    if ( value & AccessFlagBits2::eMemoryWrite ) result += " MemoryWrite |";
    if ( value & AccessFlagBits2::eShaderSampledRead ) result += " ShaderSampledRead |";
    if ( value & AccessFlagBits2::eShaderStorageRead ) result += " ShaderStorageRead |";
    if ( value & AccessFlagBits2::eShaderStorageWrite ) result += " ShaderStorageWrite |";
    if ( value & AccessFlagBits2::eVideoDecodeReadKHR ) result += " VideoDecodeReadKHR |";
    if ( value & AccessFlagBits2::eVideoDecodeWriteKHR ) result += " VideoDecodeWriteKHR |";
    if ( value & AccessFlagBits2::eVideoEncodeReadKHR ) result += " VideoEncodeReadKHR |";
    if ( value & AccessFlagBits2::eVideoEncodeWriteKHR ) result += " VideoEncodeWriteKHR |";
    if ( value & AccessFlagBits2::eShaderTileAttachmentReadQCOM ) result += " ShaderTileAttachmentReadQCOM |";
    if ( value & AccessFlagBits2::eShaderTileAttachmentWriteQCOM ) result += " ShaderTileAttachmentWriteQCOM |";
    if ( value & AccessFlagBits2::eTransformFeedbackWriteEXT ) result += " TransformFeedbackWriteEXT |";
    if ( value & AccessFlagBits2::eTransformFeedbackCounterReadEXT ) result += " TransformFeedbackCounterReadEXT |";
    if ( value & AccessFlagBits2::eTransformFeedbackCounterWriteEXT ) result += " TransformFeedbackCounterWriteEXT |";
    if ( value & AccessFlagBits2::eConditionalRenderingReadEXT ) result += " ConditionalRenderingReadEXT |";
    if ( value & AccessFlagBits2::eCommandPreprocessReadEXT ) result += " CommandPreprocessReadEXT |";
    if ( value & AccessFlagBits2::eCommandPreprocessWriteEXT ) result += " CommandPreprocessWriteEXT |";
    if ( value & AccessFlagBits2::eFragmentShadingRateAttachmentReadKHR ) result += " FragmentShadingRateAttachmentReadKHR |";
    if ( value & AccessFlagBits2::eAccelerationStructureReadKHR ) result += " AccelerationStructureReadKHR |";
    if ( value & AccessFlagBits2::eAccelerationStructureWriteKHR ) result += " AccelerationStructureWriteKHR |";
    if ( value & AccessFlagBits2::eFragmentDensityMapReadEXT ) result += " FragmentDensityMapReadEXT |";
    if ( value & AccessFlagBits2::eColorAttachmentReadNoncoherentEXT ) result += " ColorAttachmentReadNoncoherentEXT |";
    if ( value & AccessFlagBits2::eDescriptorBufferReadEXT ) result += " DescriptorBufferReadEXT |";
    if ( value & AccessFlagBits2::eInvocationMaskReadHUAWEI ) result += " InvocationMaskReadHUAWEI |";
    if ( value & AccessFlagBits2::eShaderBindingTableReadKHR ) result += " ShaderBindingTableReadKHR |";
    if ( value & AccessFlagBits2::eMicromapReadEXT ) result += " MicromapReadEXT |";
    if ( value & AccessFlagBits2::eMicromapWriteEXT ) result += " MicromapWriteEXT |";
    if ( value & AccessFlagBits2::eOpticalFlowReadNV ) result += " OpticalFlowReadNV |";
    if ( value & AccessFlagBits2::eOpticalFlowWriteNV ) result += " OpticalFlowWriteNV |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "None";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( SubmitFlags value )
  {
    std::string result = "{";
    if ( value & SubmitFlagBits::eProtected ) result += " Protected |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( RenderingFlags value )
  {
    std::string result = "{";
    if ( value & RenderingFlagBits::eContentsSecondaryCommandBuffers ) result += " ContentsSecondaryCommandBuffers |";
    if ( value & RenderingFlagBits::eSuspending ) result += " Suspending |";
    if ( value & RenderingFlagBits::eResuming ) result += " Resuming |";
    if ( value & RenderingFlagBits::eEnableLegacyDitheringEXT ) result += " EnableLegacyDitheringEXT |";
    if ( value & RenderingFlagBits::eContentsInlineKHR ) result += " ContentsInlineKHR |";
    if ( value & RenderingFlagBits::ePerLayerFragmentDensityVALVE ) result += " PerLayerFragmentDensityVALVE |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( FormatFeatureFlags2 value )
  {
    std::string result = "{";
    if ( value & FormatFeatureFlagBits2::eSampledImage ) result += " SampledImage |";
    if ( value & FormatFeatureFlagBits2::eStorageImage ) result += " StorageImage |";
    if ( value & FormatFeatureFlagBits2::eStorageImageAtomic ) result += " StorageImageAtomic |";
    if ( value & FormatFeatureFlagBits2::eUniformTexelBuffer ) result += " UniformTexelBuffer |";
    if ( value & FormatFeatureFlagBits2::eStorageTexelBuffer ) result += " StorageTexelBuffer |";
    if ( value & FormatFeatureFlagBits2::eStorageTexelBufferAtomic ) result += " StorageTexelBufferAtomic |";
    if ( value & FormatFeatureFlagBits2::eVertexBuffer ) result += " VertexBuffer |";
    if ( value & FormatFeatureFlagBits2::eColorAttachment ) result += " ColorAttachment |";
    if ( value & FormatFeatureFlagBits2::eColorAttachmentBlend ) result += " ColorAttachmentBlend |";
    if ( value & FormatFeatureFlagBits2::eDepthStencilAttachment ) result += " DepthStencilAttachment |";
    if ( value & FormatFeatureFlagBits2::eBlitSrc ) result += " BlitSrc |";
    if ( value & FormatFeatureFlagBits2::eBlitDst ) result += " BlitDst |";
    if ( value & FormatFeatureFlagBits2::eSampledImageFilterLinear ) result += " SampledImageFilterLinear |";
    if ( value & FormatFeatureFlagBits2::eTransferSrc ) result += " TransferSrc |";
    if ( value & FormatFeatureFlagBits2::eTransferDst ) result += " TransferDst |";
    if ( value & FormatFeatureFlagBits2::eSampledImageFilterMinmax ) result += " SampledImageFilterMinmax |";
    if ( value & FormatFeatureFlagBits2::eMidpointChromaSamples ) result += " MidpointChromaSamples |";
    if ( value & FormatFeatureFlagBits2::eSampledImageYcbcrConversionLinearFilter ) result += " SampledImageYcbcrConversionLinearFilter |";
    if ( value & FormatFeatureFlagBits2::eSampledImageYcbcrConversionSeparateReconstructionFilter ) result += " SampledImageYcbcrConversionSeparateReconstructionFilter |";
    if ( value & FormatFeatureFlagBits2::eSampledImageYcbcrConversionChromaReconstructionExplicit ) result += " SampledImageYcbcrConversionChromaReconstructionExplicit |";
    if ( value & FormatFeatureFlagBits2::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable ) result += " SampledImageYcbcrConversionChromaReconstructionExplicitForceable |";
    if ( value & FormatFeatureFlagBits2::eDisjoint ) result += " Disjoint |";
    if ( value & FormatFeatureFlagBits2::eCositedChromaSamples ) result += " CositedChromaSamples |";
    if ( value & FormatFeatureFlagBits2::eStorageReadWithoutFormat ) result += " StorageReadWithoutFormat |";
    if ( value & FormatFeatureFlagBits2::eStorageWriteWithoutFormat ) result += " StorageWriteWithoutFormat |";
    if ( value & FormatFeatureFlagBits2::eSampledImageDepthComparison ) result += " SampledImageDepthComparison |";
    if ( value & FormatFeatureFlagBits2::eSampledImageFilterCubic ) result += " SampledImageFilterCubic |";
    if ( value & FormatFeatureFlagBits2::eHostImageTransfer ) result += " HostImageTransfer |";
    if ( value & FormatFeatureFlagBits2::eVideoDecodeOutputKHR ) result += " VideoDecodeOutputKHR |";
    if ( value & FormatFeatureFlagBits2::eVideoDecodeDpbKHR ) result += " VideoDecodeDpbKHR |";
    if ( value & FormatFeatureFlagBits2::eAccelerationStructureVertexBufferKHR ) result += " AccelerationStructureVertexBufferKHR |";
    if ( value & FormatFeatureFlagBits2::eFragmentDensityMapEXT ) result += " FragmentDensityMapEXT |";
    if ( value & FormatFeatureFlagBits2::eFragmentShadingRateAttachmentKHR ) result += " FragmentShadingRateAttachmentKHR |";
    if ( value & FormatFeatureFlagBits2::eVideoEncodeInputKHR ) result += " VideoEncodeInputKHR |";
    if ( value & FormatFeatureFlagBits2::eVideoEncodeDpbKHR ) result += " VideoEncodeDpbKHR |";
    if ( value & FormatFeatureFlagBits2::eAccelerationStructureRadiusBufferNV ) result += " AccelerationStructureRadiusBufferNV |";
    if ( value & FormatFeatureFlagBits2::eLinearColorAttachmentNV ) result += " LinearColorAttachmentNV |";
    if ( value & FormatFeatureFlagBits2::eWeightImageQCOM ) result += " WeightImageQCOM |";
    if ( value & FormatFeatureFlagBits2::eWeightSampledImageQCOM ) result += " WeightSampledImageQCOM |";
    if ( value & FormatFeatureFlagBits2::eBlockMatchingQCOM ) result += " BlockMatchingQCOM |";
    if ( value & FormatFeatureFlagBits2::eBoxFilterSampledQCOM ) result += " BoxFilterSampledQCOM |";
    if ( value & FormatFeatureFlagBits2::eTensorShaderARM ) result += " TensorShaderARM |";
    if ( value & FormatFeatureFlagBits2::eTensorImageAliasingARM ) result += " TensorImageAliasingARM |";
    if ( value & FormatFeatureFlagBits2::eOpticalFlowImageNV ) result += " OpticalFlowImageNV |";
    if ( value & FormatFeatureFlagBits2::eOpticalFlowVectorNV ) result += " OpticalFlowVectorNV |";
    if ( value & FormatFeatureFlagBits2::eOpticalFlowCostNV ) result += " OpticalFlowCostNV |";
    if ( value & FormatFeatureFlagBits2::eVideoEncodeQuantizationDeltaMapKHR ) result += " VideoEncodeQuantizationDeltaMapKHR |";
    if ( value & FormatFeatureFlagBits2::eVideoEncodeEmphasisMapKHR ) result += " VideoEncodeEmphasisMapKHR |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_VERSION_1_4 ===

  VULKAN_HPP_INLINE std::string to_string( MemoryUnmapFlags value )
  {
    std::string result = "{";
    if ( value & MemoryUnmapFlagBits::eReserveEXT ) result += " ReserveEXT |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( PipelineCreateFlags2 value )
  {
    std::string result = "{";
    if ( value & PipelineCreateFlagBits2::eDisableOptimization ) result += " DisableOptimization |";
    if ( value & PipelineCreateFlagBits2::eAllowDerivatives ) result += " AllowDerivatives |";
    if ( value & PipelineCreateFlagBits2::eDerivative ) result += " Derivative |";
    if ( value & PipelineCreateFlagBits2::eViewIndexFromDeviceIndex ) result += " ViewIndexFromDeviceIndex |";
    if ( value & PipelineCreateFlagBits2::eDispatchBase ) result += " DispatchBase |";
    if ( value & PipelineCreateFlagBits2::eFailOnPipelineCompileRequired ) result += " FailOnPipelineCompileRequired |";
    if ( value & PipelineCreateFlagBits2::eEarlyReturnOnFailure ) result += " EarlyReturnOnFailure |";
    if ( value & PipelineCreateFlagBits2::eNoProtectedAccess ) result += " NoProtectedAccess |";
    if ( value & PipelineCreateFlagBits2::eProtectedAccessOnly ) result += " ProtectedAccessOnly |";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
    if ( value & PipelineCreateFlagBits2::eExecutionGraphAMDX ) result += " ExecutionGraphAMDX |";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
    if ( value & PipelineCreateFlagBits2::eRayTracingAllowSpheresAndLinearSweptSpheresNV ) result += " RayTracingAllowSpheresAndLinearSweptSpheresNV |";
    if ( value & PipelineCreateFlagBits2::eEnableLegacyDitheringEXT ) result += " EnableLegacyDitheringEXT |";
    if ( value & PipelineCreateFlagBits2::eDeferCompileNV ) result += " DeferCompileNV |";
    if ( value & PipelineCreateFlagBits2::eCaptureStatisticsKHR ) result += " CaptureStatisticsKHR |";
    if ( value & PipelineCreateFlagBits2::eCaptureInternalRepresentationsKHR ) result += " CaptureInternalRepresentationsKHR |";
    if ( value & PipelineCreateFlagBits2::eLinkTimeOptimizationEXT ) result += " LinkTimeOptimizationEXT |";
    if ( value & PipelineCreateFlagBits2::eRetainLinkTimeOptimizationInfoEXT ) result += " RetainLinkTimeOptimizationInfoEXT |";
    if ( value & PipelineCreateFlagBits2::eLibraryKHR ) result += " LibraryKHR |";
    if ( value & PipelineCreateFlagBits2::eRayTracingSkipTrianglesKHR ) result += " RayTracingSkipTrianglesKHR |";
    if ( value & PipelineCreateFlagBits2::eRayTracingSkipAabbsKHR ) result += " RayTracingSkipAabbsKHR |";
    if ( value & PipelineCreateFlagBits2::eRayTracingNoNullAnyHitShadersKHR ) result += " RayTracingNoNullAnyHitShadersKHR |";
    if ( value & PipelineCreateFlagBits2::eRayTracingNoNullClosestHitShadersKHR ) result += " RayTracingNoNullClosestHitShadersKHR |";
    if ( value & PipelineCreateFlagBits2::eRayTracingNoNullMissShadersKHR ) result += " RayTracingNoNullMissShadersKHR |";
    if ( value & PipelineCreateFlagBits2::eRayTracingNoNullIntersectionShadersKHR ) result += " RayTracingNoNullIntersectionShadersKHR |";
    if ( value & PipelineCreateFlagBits2::eRayTracingShaderGroupHandleCaptureReplayKHR ) result += " RayTracingShaderGroupHandleCaptureReplayKHR |";
    if ( value & PipelineCreateFlagBits2::eIndirectBindableNV ) result += " IndirectBindableNV |";
    if ( value & PipelineCreateFlagBits2::eRayTracingAllowMotionNV ) result += " RayTracingAllowMotionNV |";
    if ( value & PipelineCreateFlagBits2::eRenderingFragmentShadingRateAttachmentKHR ) result += " RenderingFragmentShadingRateAttachmentKHR |";
    if ( value & PipelineCreateFlagBits2::eRenderingFragmentDensityMapAttachmentEXT ) result += " RenderingFragmentDensityMapAttachmentEXT |";
    if ( value & PipelineCreateFlagBits2::eRayTracingOpacityMicromapEXT ) result += " RayTracingOpacityMicromapEXT |";
    if ( value & PipelineCreateFlagBits2::eColorAttachmentFeedbackLoopEXT ) result += " ColorAttachmentFeedbackLoopEXT |";
    if ( value & PipelineCreateFlagBits2::eDepthStencilAttachmentFeedbackLoopEXT ) result += " DepthStencilAttachmentFeedbackLoopEXT |";
    if ( value & PipelineCreateFlagBits2::eRayTracingDisplacementMicromapNV ) result += " RayTracingDisplacementMicromapNV |";
    if ( value & PipelineCreateFlagBits2::eDescriptorBufferEXT ) result += " DescriptorBufferEXT |";
    if ( value & PipelineCreateFlagBits2::eDisallowOpacityMicromapARM ) result += " DisallowOpacityMicromapARM |";
    if ( value & PipelineCreateFlagBits2::eCaptureDataKHR ) result += " CaptureDataKHR |";
    if ( value & PipelineCreateFlagBits2::eIndirectBindableEXT ) result += " IndirectBindableEXT |";
    if ( value & PipelineCreateFlagBits2::ePerLayerFragmentDensityVALVE ) result += " PerLayerFragmentDensityVALVE |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( BufferUsageFlags2 value )
  {
    std::string result = "{";
    if ( value & BufferUsageFlagBits2::eTransferSrc ) result += " TransferSrc |";
    if ( value & BufferUsageFlagBits2::eTransferDst ) result += " TransferDst |";
    if ( value & BufferUsageFlagBits2::eUniformTexelBuffer ) result += " UniformTexelBuffer |";
    if ( value & BufferUsageFlagBits2::eStorageTexelBuffer ) result += " StorageTexelBuffer |";
    if ( value & BufferUsageFlagBits2::eUniformBuffer ) result += " UniformBuffer |";
    if ( value & BufferUsageFlagBits2::eStorageBuffer ) result += " StorageBuffer |";
    if ( value & BufferUsageFlagBits2::eIndexBuffer ) result += " IndexBuffer |";
    if ( value & BufferUsageFlagBits2::eVertexBuffer ) result += " VertexBuffer |";
    if ( value & BufferUsageFlagBits2::eIndirectBuffer ) result += " IndirectBuffer |";
    if ( value & BufferUsageFlagBits2::eShaderDeviceAddress ) result += " ShaderDeviceAddress |";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
    if ( value & BufferUsageFlagBits2::eExecutionGraphScratchAMDX ) result += " ExecutionGraphScratchAMDX |";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
    if ( value & BufferUsageFlagBits2::eConditionalRenderingEXT ) result += " ConditionalRenderingEXT |";
    if ( value & BufferUsageFlagBits2::eShaderBindingTableKHR ) result += " ShaderBindingTableKHR |";
    if ( value & BufferUsageFlagBits2::eTransformFeedbackBufferEXT ) result += " TransformFeedbackBufferEXT |";
    if ( value & BufferUsageFlagBits2::eTransformFeedbackCounterBufferEXT ) result += " TransformFeedbackCounterBufferEXT |";
    if ( value & BufferUsageFlagBits2::eVideoDecodeSrcKHR ) result += " VideoDecodeSrcKHR |";
    if ( value & BufferUsageFlagBits2::eVideoDecodeDstKHR ) result += " VideoDecodeDstKHR |";
    if ( value & BufferUsageFlagBits2::eVideoEncodeDstKHR ) result += " VideoEncodeDstKHR |";
    if ( value & BufferUsageFlagBits2::eVideoEncodeSrcKHR ) result += " VideoEncodeSrcKHR |";
    if ( value & BufferUsageFlagBits2::eAccelerationStructureBuildInputReadOnlyKHR ) result += " AccelerationStructureBuildInputReadOnlyKHR |";
    if ( value & BufferUsageFlagBits2::eAccelerationStructureStorageKHR ) result += " AccelerationStructureStorageKHR |";
    if ( value & BufferUsageFlagBits2::eSamplerDescriptorBufferEXT ) result += " SamplerDescriptorBufferEXT |";
    if ( value & BufferUsageFlagBits2::eResourceDescriptorBufferEXT ) result += " ResourceDescriptorBufferEXT |";
    if ( value & BufferUsageFlagBits2::ePushDescriptorsDescriptorBufferEXT ) result += " PushDescriptorsDescriptorBufferEXT |";
    if ( value & BufferUsageFlagBits2::eMicromapBuildInputReadOnlyEXT ) result += " MicromapBuildInputReadOnlyEXT |";
    if ( value & BufferUsageFlagBits2::eMicromapStorageEXT ) result += " MicromapStorageEXT |";
    if ( value & BufferUsageFlagBits2::eTileMemoryQCOM ) result += " TileMemoryQCOM |";
    if ( value & BufferUsageFlagBits2::ePreprocessBufferEXT ) result += " PreprocessBufferEXT |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( HostImageCopyFlags value )
  {
    std::string result = "{";
    if ( value & HostImageCopyFlagBits::eMemcpy ) result += " Memcpy |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_KHR_surface ===

  VULKAN_HPP_INLINE std::string to_string( CompositeAlphaFlagsKHR value )
  {
    std::string result = "{";
    if ( value & CompositeAlphaFlagBitsKHR::eOpaque ) result += " Opaque |";
    if ( value & CompositeAlphaFlagBitsKHR::ePreMultiplied ) result += " PreMultiplied |";
    if ( value & CompositeAlphaFlagBitsKHR::ePostMultiplied ) result += " PostMultiplied |";
    if ( value & CompositeAlphaFlagBitsKHR::eInherit ) result += " Inherit |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_KHR_swapchain ===

  VULKAN_HPP_INLINE std::string to_string( SwapchainCreateFlagsKHR value )
  {
    std::string result = "{";
    if ( value & SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions ) result += " SplitInstanceBindRegions |";
    if ( value & SwapchainCreateFlagBitsKHR::eProtected ) result += " Protected |";
    if ( value & SwapchainCreateFlagBitsKHR::eMutableFormat ) result += " MutableFormat |";
    if ( value & SwapchainCreateFlagBitsKHR::eDeferredMemoryAllocationEXT ) result += " DeferredMemoryAllocationEXT |";
    if ( value & SwapchainCreateFlagBitsKHR::ePresentId2 ) result += " PresentId2 |";
    if ( value & SwapchainCreateFlagBitsKHR::ePresentWait2 ) result += " PresentWait2 |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( DeviceGroupPresentModeFlagsKHR value )
  {
    std::string result = "{";
    if ( value & DeviceGroupPresentModeFlagBitsKHR::eLocal ) result += " Local |";
    if ( value & DeviceGroupPresentModeFlagBitsKHR::eRemote ) result += " Remote |";
    if ( value & DeviceGroupPresentModeFlagBitsKHR::eSum ) result += " Sum |";
    if ( value & DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice ) result += " LocalMultiDevice |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_KHR_display ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DisplayModeCreateFlagsKHR )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE std::string to_string( DisplayPlaneAlphaFlagsKHR value )
  {
    std::string result = "{";
    if ( value & DisplayPlaneAlphaFlagBitsKHR::eOpaque ) result += " Opaque |";
    if ( value & DisplayPlaneAlphaFlagBitsKHR::eGlobal ) result += " Global |";
    if ( value & DisplayPlaneAlphaFlagBitsKHR::ePerPixel ) result += " PerPixel |";
    if ( value & DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied ) result += " PerPixelPremultiplied |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DisplaySurfaceCreateFlagsKHR )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE std::string to_string( SurfaceTransformFlagsKHR value )
  {
    std::string result = "{";
    if ( value & SurfaceTransformFlagBitsKHR::eIdentity ) result += " Identity |";
    if ( value & SurfaceTransformFlagBitsKHR::eRotate90 ) result += " Rotate90 |";
    if ( value & SurfaceTransformFlagBitsKHR::eRotate180 ) result += " Rotate180 |";
    if ( value & SurfaceTransformFlagBitsKHR::eRotate270 ) result += " Rotate270 |";
    if ( value & SurfaceTransformFlagBitsKHR::eHorizontalMirror ) result += " HorizontalMirror |";
    if ( value & SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90 ) result += " HorizontalMirrorRotate90 |";
    if ( value & SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180 ) result += " HorizontalMirrorRotate180 |";
    if ( value & SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270 ) result += " HorizontalMirrorRotate270 |";
    if ( value & SurfaceTransformFlagBitsKHR::eInherit ) result += " Inherit |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

#if defined( VK_USE_PLATFORM_XLIB_KHR )
  //=== VK_KHR_xlib_surface ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( XlibSurfaceCreateFlagsKHR )
  {
    return "{}";
  }
#endif /*VK_USE_PLATFORM_XLIB_KHR*/

#if defined( VK_USE_PLATFORM_XCB_KHR )
  //=== VK_KHR_xcb_surface ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( XcbSurfaceCreateFlagsKHR )
  {
    return "{}";
  }
#endif /*VK_USE_PLATFORM_XCB_KHR*/

#if defined( VK_USE_PLATFORM_WAYLAND_KHR )
  //=== VK_KHR_wayland_surface ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( WaylandSurfaceCreateFlagsKHR )
  {
    return "{}";
  }
#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/

#if defined( VK_USE_PLATFORM_ANDROID_KHR )
  //=== VK_KHR_android_surface ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AndroidSurfaceCreateFlagsKHR )
  {
    return "{}";
  }
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/

#if defined( VK_USE_PLATFORM_WIN32_KHR )
  //=== VK_KHR_win32_surface ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( Win32SurfaceCreateFlagsKHR )
  {
    return "{}";
  }
#endif /*VK_USE_PLATFORM_WIN32_KHR*/

  //=== VK_EXT_debug_report ===

  VULKAN_HPP_INLINE std::string to_string( DebugReportFlagsEXT value )
  {
    std::string result = "{";
    if ( value & DebugReportFlagBitsEXT::eInformation ) result += " Information |";
    if ( value & DebugReportFlagBitsEXT::eWarning ) result += " Warning |";
    if ( value & DebugReportFlagBitsEXT::ePerformanceWarning ) result += " PerformanceWarning |";
    if ( value & DebugReportFlagBitsEXT::eError ) result += " Error |";
    if ( value & DebugReportFlagBitsEXT::eDebug ) result += " Debug |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_KHR_video_queue ===

  VULKAN_HPP_INLINE std::string to_string( VideoCodecOperationFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoCodecOperationFlagBitsKHR::eEncodeH264 ) result += " EncodeH264 |";
    if ( value & VideoCodecOperationFlagBitsKHR::eEncodeH265 ) result += " EncodeH265 |";
    if ( value & VideoCodecOperationFlagBitsKHR::eDecodeH264 ) result += " DecodeH264 |";
    if ( value & VideoCodecOperationFlagBitsKHR::eDecodeH265 ) result += " DecodeH265 |";
    if ( value & VideoCodecOperationFlagBitsKHR::eDecodeAv1 ) result += " DecodeAv1 |";
    if ( value & VideoCodecOperationFlagBitsKHR::eEncodeAv1 ) result += " EncodeAv1 |";
    if ( value & VideoCodecOperationFlagBitsKHR::eDecodeVp9 ) result += " DecodeVp9 |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "None";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoChromaSubsamplingFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoChromaSubsamplingFlagBitsKHR::eMonochrome ) result += " Monochrome |";
    if ( value & VideoChromaSubsamplingFlagBitsKHR::e420 ) result += " 420 |";
    if ( value & VideoChromaSubsamplingFlagBitsKHR::e422 ) result += " 422 |";
    if ( value & VideoChromaSubsamplingFlagBitsKHR::e444 ) result += " 444 |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "Invalid";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoComponentBitDepthFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoComponentBitDepthFlagBitsKHR::e8 ) result += " 8 |";
    if ( value & VideoComponentBitDepthFlagBitsKHR::e10 ) result += " 10 |";
    if ( value & VideoComponentBitDepthFlagBitsKHR::e12 ) result += " 12 |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "Invalid";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoCapabilityFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoCapabilityFlagBitsKHR::eProtectedContent ) result += " ProtectedContent |";
    if ( value & VideoCapabilityFlagBitsKHR::eSeparateReferenceImages ) result += " SeparateReferenceImages |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoSessionCreateFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoSessionCreateFlagBitsKHR::eProtectedContent ) result += " ProtectedContent |";
    if ( value & VideoSessionCreateFlagBitsKHR::eAllowEncodeParameterOptimizations ) result += " AllowEncodeParameterOptimizations |";
    if ( value & VideoSessionCreateFlagBitsKHR::eInlineQueries ) result += " InlineQueries |";
    if ( value & VideoSessionCreateFlagBitsKHR::eAllowEncodeQuantizationDeltaMap ) result += " AllowEncodeQuantizationDeltaMap |";
    if ( value & VideoSessionCreateFlagBitsKHR::eAllowEncodeEmphasisMap ) result += " AllowEncodeEmphasisMap |";
    if ( value & VideoSessionCreateFlagBitsKHR::eInlineSessionParameters ) result += " InlineSessionParameters |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoSessionParametersCreateFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoSessionParametersCreateFlagBitsKHR::eQuantizationMapCompatible ) result += " QuantizationMapCompatible |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoBeginCodingFlagsKHR )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEndCodingFlagsKHR )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE std::string to_string( VideoCodingControlFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoCodingControlFlagBitsKHR::eReset ) result += " Reset |";
    if ( value & VideoCodingControlFlagBitsKHR::eEncodeRateControl ) result += " EncodeRateControl |";
    if ( value & VideoCodingControlFlagBitsKHR::eEncodeQualityLevel ) result += " EncodeQualityLevel |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_KHR_video_decode_queue ===

  VULKAN_HPP_INLINE std::string to_string( VideoDecodeCapabilityFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoDecodeCapabilityFlagBitsKHR::eDpbAndOutputCoincide ) result += " DpbAndOutputCoincide |";
    if ( value & VideoDecodeCapabilityFlagBitsKHR::eDpbAndOutputDistinct ) result += " DpbAndOutputDistinct |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoDecodeUsageFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoDecodeUsageFlagBitsKHR::eTranscoding ) result += " Transcoding |";
    if ( value & VideoDecodeUsageFlagBitsKHR::eOffline ) result += " Offline |";
    if ( value & VideoDecodeUsageFlagBitsKHR::eStreaming ) result += " Streaming |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "Default";
    return result;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoDecodeFlagsKHR )
  {
    return "{}";
  }

  //=== VK_EXT_transform_feedback ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineRasterizationStateStreamCreateFlagsEXT )
  {
    return "{}";
  }

  //=== VK_KHR_video_encode_h264 ===

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeH264CapabilityFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeH264CapabilityFlagBitsKHR::eHrdCompliance ) result += " HrdCompliance |";
    if ( value & VideoEncodeH264CapabilityFlagBitsKHR::ePredictionWeightTableGenerated ) result += " PredictionWeightTableGenerated |";
    if ( value & VideoEncodeH264CapabilityFlagBitsKHR::eRowUnalignedSlice ) result += " RowUnalignedSlice |";
    if ( value & VideoEncodeH264CapabilityFlagBitsKHR::eDifferentSliceType ) result += " DifferentSliceType |";
    if ( value & VideoEncodeH264CapabilityFlagBitsKHR::eBFrameInL0List ) result += " BFrameInL0List |";
    if ( value & VideoEncodeH264CapabilityFlagBitsKHR::eBFrameInL1List ) result += " BFrameInL1List |";
    if ( value & VideoEncodeH264CapabilityFlagBitsKHR::ePerPictureTypeMinMaxQp ) result += " PerPictureTypeMinMaxQp |";
    if ( value & VideoEncodeH264CapabilityFlagBitsKHR::ePerSliceConstantQp ) result += " PerSliceConstantQp |";
    if ( value & VideoEncodeH264CapabilityFlagBitsKHR::eGeneratePrefixNalu ) result += " GeneratePrefixNalu |";
    if ( value & VideoEncodeH264CapabilityFlagBitsKHR::eMbQpDiffWraparound ) result += " MbQpDiffWraparound |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeH264StdFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eSeparateColorPlaneFlagSet ) result += " SeparateColorPlaneFlagSet |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eQpprimeYZeroTransformBypassFlagSet ) result += " QpprimeYZeroTransformBypassFlagSet |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eScalingMatrixPresentFlagSet ) result += " ScalingMatrixPresentFlagSet |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eChromaQpIndexOffset ) result += " ChromaQpIndexOffset |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eSecondChromaQpIndexOffset ) result += " SecondChromaQpIndexOffset |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::ePicInitQpMinus26 ) result += " PicInitQpMinus26 |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eWeightedPredFlagSet ) result += " WeightedPredFlagSet |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eWeightedBipredIdcExplicit ) result += " WeightedBipredIdcExplicit |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eWeightedBipredIdcImplicit ) result += " WeightedBipredIdcImplicit |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eTransform8X8ModeFlagSet ) result += " Transform8X8ModeFlagSet |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eDirectSpatialMvPredFlagUnset ) result += " DirectSpatialMvPredFlagUnset |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eEntropyCodingModeFlagUnset ) result += " EntropyCodingModeFlagUnset |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eEntropyCodingModeFlagSet ) result += " EntropyCodingModeFlagSet |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eDirect8X8InferenceFlagUnset ) result += " Direct8X8InferenceFlagUnset |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eConstrainedIntraPredFlagSet ) result += " ConstrainedIntraPredFlagSet |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eDeblockingFilterDisabled ) result += " DeblockingFilterDisabled |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eDeblockingFilterEnabled ) result += " DeblockingFilterEnabled |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eDeblockingFilterPartial ) result += " DeblockingFilterPartial |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eSliceQpDelta ) result += " SliceQpDelta |";
    if ( value & VideoEncodeH264StdFlagBitsKHR::eDifferentSliceQpDelta ) result += " DifferentSliceQpDelta |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeH264RateControlFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeH264RateControlFlagBitsKHR::eAttemptHrdCompliance ) result += " AttemptHrdCompliance |";
    if ( value & VideoEncodeH264RateControlFlagBitsKHR::eRegularGop ) result += " RegularGop |";
    if ( value & VideoEncodeH264RateControlFlagBitsKHR::eReferencePatternFlat ) result += " ReferencePatternFlat |";
    if ( value & VideoEncodeH264RateControlFlagBitsKHR::eReferencePatternDyadic ) result += " ReferencePatternDyadic |";
    if ( value & VideoEncodeH264RateControlFlagBitsKHR::eTemporalLayerPatternDyadic ) result += " TemporalLayerPatternDyadic |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_KHR_video_encode_h265 ===

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeH265CapabilityFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeH265CapabilityFlagBitsKHR::eHrdCompliance ) result += " HrdCompliance |";
    if ( value & VideoEncodeH265CapabilityFlagBitsKHR::ePredictionWeightTableGenerated ) result += " PredictionWeightTableGenerated |";
    if ( value & VideoEncodeH265CapabilityFlagBitsKHR::eRowUnalignedSliceSegment ) result += " RowUnalignedSliceSegment |";
    if ( value & VideoEncodeH265CapabilityFlagBitsKHR::eDifferentSliceSegmentType ) result += " DifferentSliceSegmentType |";
    if ( value & VideoEncodeH265CapabilityFlagBitsKHR::eBFrameInL0List ) result += " BFrameInL0List |";
    if ( value & VideoEncodeH265CapabilityFlagBitsKHR::eBFrameInL1List ) result += " BFrameInL1List |";
    if ( value & VideoEncodeH265CapabilityFlagBitsKHR::ePerPictureTypeMinMaxQp ) result += " PerPictureTypeMinMaxQp |";
    if ( value & VideoEncodeH265CapabilityFlagBitsKHR::ePerSliceSegmentConstantQp ) result += " PerSliceSegmentConstantQp |";
    if ( value & VideoEncodeH265CapabilityFlagBitsKHR::eMultipleTilesPerSliceSegment ) result += " MultipleTilesPerSliceSegment |";
    if ( value & VideoEncodeH265CapabilityFlagBitsKHR::eMultipleSliceSegmentsPerTile ) result += " MultipleSliceSegmentsPerTile |";
    if ( value & VideoEncodeH265CapabilityFlagBitsKHR::eCuQpDiffWraparound ) result += " CuQpDiffWraparound |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeH265StdFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eSeparateColorPlaneFlagSet ) result += " SeparateColorPlaneFlagSet |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eSampleAdaptiveOffsetEnabledFlagSet ) result += " SampleAdaptiveOffsetEnabledFlagSet |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eScalingListDataPresentFlagSet ) result += " ScalingListDataPresentFlagSet |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::ePcmEnabledFlagSet ) result += " PcmEnabledFlagSet |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eSpsTemporalMvpEnabledFlagSet ) result += " SpsTemporalMvpEnabledFlagSet |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eInitQpMinus26 ) result += " InitQpMinus26 |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eWeightedPredFlagSet ) result += " WeightedPredFlagSet |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eWeightedBipredFlagSet ) result += " WeightedBipredFlagSet |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eLog2ParallelMergeLevelMinus2 ) result += " Log2ParallelMergeLevelMinus2 |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eSignDataHidingEnabledFlagSet ) result += " SignDataHidingEnabledFlagSet |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eTransformSkipEnabledFlagSet ) result += " TransformSkipEnabledFlagSet |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eTransformSkipEnabledFlagUnset ) result += " TransformSkipEnabledFlagUnset |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::ePpsSliceChromaQpOffsetsPresentFlagSet ) result += " PpsSliceChromaQpOffsetsPresentFlagSet |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eTransquantBypassEnabledFlagSet ) result += " TransquantBypassEnabledFlagSet |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eConstrainedIntraPredFlagSet ) result += " ConstrainedIntraPredFlagSet |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eEntropyCodingSyncEnabledFlagSet ) result += " EntropyCodingSyncEnabledFlagSet |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eDeblockingFilterOverrideEnabledFlagSet ) result += " DeblockingFilterOverrideEnabledFlagSet |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eDependentSliceSegmentsEnabledFlagSet ) result += " DependentSliceSegmentsEnabledFlagSet |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eDependentSliceSegmentFlagSet ) result += " DependentSliceSegmentFlagSet |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eSliceQpDelta ) result += " SliceQpDelta |";
    if ( value & VideoEncodeH265StdFlagBitsKHR::eDifferentSliceQpDelta ) result += " DifferentSliceQpDelta |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeH265CtbSizeFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeH265CtbSizeFlagBitsKHR::e16 ) result += " 16 |";
    if ( value & VideoEncodeH265CtbSizeFlagBitsKHR::e32 ) result += " 32 |";
    if ( value & VideoEncodeH265CtbSizeFlagBitsKHR::e64 ) result += " 64 |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeH265TransformBlockSizeFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeH265TransformBlockSizeFlagBitsKHR::e4 ) result += " 4 |";
    if ( value & VideoEncodeH265TransformBlockSizeFlagBitsKHR::e8 ) result += " 8 |";
    if ( value & VideoEncodeH265TransformBlockSizeFlagBitsKHR::e16 ) result += " 16 |";
    if ( value & VideoEncodeH265TransformBlockSizeFlagBitsKHR::e32 ) result += " 32 |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeH265RateControlFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeH265RateControlFlagBitsKHR::eAttemptHrdCompliance ) result += " AttemptHrdCompliance |";
    if ( value & VideoEncodeH265RateControlFlagBitsKHR::eRegularGop ) result += " RegularGop |";
    if ( value & VideoEncodeH265RateControlFlagBitsKHR::eReferencePatternFlat ) result += " ReferencePatternFlat |";
    if ( value & VideoEncodeH265RateControlFlagBitsKHR::eReferencePatternDyadic ) result += " ReferencePatternDyadic |";
    if ( value & VideoEncodeH265RateControlFlagBitsKHR::eTemporalSubLayerPatternDyadic ) result += " TemporalSubLayerPatternDyadic |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_KHR_video_decode_h264 ===

  VULKAN_HPP_INLINE std::string to_string( VideoDecodeH264PictureLayoutFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoDecodeH264PictureLayoutFlagBitsKHR::eInterlacedInterleavedLines ) result += " InterlacedInterleavedLines |";
    if ( value & VideoDecodeH264PictureLayoutFlagBitsKHR::eInterlacedSeparatePlanes ) result += " InterlacedSeparatePlanes |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "Progressive";
    return result;
  }

#if defined( VK_USE_PLATFORM_GGP )
  //=== VK_GGP_stream_descriptor_surface ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( StreamDescriptorSurfaceCreateFlagsGGP )
  {
    return "{}";
  }
#endif /*VK_USE_PLATFORM_GGP*/

  //=== VK_NV_external_memory_capabilities ===

  VULKAN_HPP_INLINE std::string to_string( ExternalMemoryHandleTypeFlagsNV value )
  {
    std::string result = "{";
    if ( value & ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32 ) result += " OpaqueWin32 |";
    if ( value & ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt ) result += " OpaqueWin32Kmt |";
    if ( value & ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image ) result += " D3D11Image |";
    if ( value & ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt ) result += " D3D11ImageKmt |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( ExternalMemoryFeatureFlagsNV value )
  {
    std::string result = "{";
    if ( value & ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly ) result += " DedicatedOnly |";
    if ( value & ExternalMemoryFeatureFlagBitsNV::eExportable ) result += " Exportable |";
    if ( value & ExternalMemoryFeatureFlagBitsNV::eImportable ) result += " Importable |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

#if defined( VK_USE_PLATFORM_VI_NN )
  //=== VK_NN_vi_surface ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ViSurfaceCreateFlagsNN )
  {
    return "{}";
  }
#endif /*VK_USE_PLATFORM_VI_NN*/

  //=== VK_EXT_conditional_rendering ===

  VULKAN_HPP_INLINE std::string to_string( ConditionalRenderingFlagsEXT value )
  {
    std::string result = "{";
    if ( value & ConditionalRenderingFlagBitsEXT::eInverted ) result += " Inverted |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_EXT_display_surface_counter ===

  VULKAN_HPP_INLINE std::string to_string( SurfaceCounterFlagsEXT value )
  {
    std::string result = "{";
    if ( value & SurfaceCounterFlagBitsEXT::eVblank ) result += " Vblank |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_NV_viewport_swizzle ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineViewportSwizzleStateCreateFlagsNV )
  {
    return "{}";
  }

  //=== VK_EXT_discard_rectangles ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineDiscardRectangleStateCreateFlagsEXT )
  {
    return "{}";
  }

  //=== VK_EXT_conservative_rasterization ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineRasterizationConservativeStateCreateFlagsEXT )
  {
    return "{}";
  }

  //=== VK_EXT_depth_clip_enable ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineRasterizationDepthClipStateCreateFlagsEXT )
  {
    return "{}";
  }

  //=== VK_KHR_performance_query ===

  VULKAN_HPP_INLINE std::string to_string( PerformanceCounterDescriptionFlagsKHR value )
  {
    std::string result = "{";
    if ( value & PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting ) result += " PerformanceImpacting |";
    if ( value & PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted ) result += " ConcurrentlyImpacted |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AcquireProfilingLockFlagsKHR )
  {
    return "{}";
  }

#if defined( VK_USE_PLATFORM_IOS_MVK )
  //=== VK_MVK_ios_surface ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( IOSSurfaceCreateFlagsMVK )
  {
    return "{}";
  }
#endif /*VK_USE_PLATFORM_IOS_MVK*/

#if defined( VK_USE_PLATFORM_MACOS_MVK )
  //=== VK_MVK_macos_surface ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( MacOSSurfaceCreateFlagsMVK )
  {
    return "{}";
  }
#endif /*VK_USE_PLATFORM_MACOS_MVK*/

  //=== VK_EXT_debug_utils ===

  VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessageSeverityFlagsEXT value )
  {
    std::string result = "{";
    if ( value & DebugUtilsMessageSeverityFlagBitsEXT::eVerbose ) result += " Verbose |";
    if ( value & DebugUtilsMessageSeverityFlagBitsEXT::eInfo ) result += " Info |";
    if ( value & DebugUtilsMessageSeverityFlagBitsEXT::eWarning ) result += " Warning |";
    if ( value & DebugUtilsMessageSeverityFlagBitsEXT::eError ) result += " Error |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( DebugUtilsMessageTypeFlagsEXT value )
  {
    std::string result = "{";
    if ( value & DebugUtilsMessageTypeFlagBitsEXT::eGeneral ) result += " General |";
    if ( value & DebugUtilsMessageTypeFlagBitsEXT::eValidation ) result += " Validation |";
    if ( value & DebugUtilsMessageTypeFlagBitsEXT::ePerformance ) result += " Performance |";
    if ( value & DebugUtilsMessageTypeFlagBitsEXT::eDeviceAddressBinding ) result += " DeviceAddressBinding |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DebugUtilsMessengerCallbackDataFlagsEXT )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DebugUtilsMessengerCreateFlagsEXT )
  {
    return "{}";
  }

  //=== VK_NV_fragment_coverage_to_color ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineCoverageToColorStateCreateFlagsNV )
  {
    return "{}";
  }

  //=== VK_KHR_acceleration_structure ===

  VULKAN_HPP_INLINE std::string to_string( GeometryFlagsKHR value )
  {
    std::string result = "{";
    if ( value & GeometryFlagBitsKHR::eOpaque ) result += " Opaque |";
    if ( value & GeometryFlagBitsKHR::eNoDuplicateAnyHitInvocation ) result += " NoDuplicateAnyHitInvocation |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( GeometryInstanceFlagsKHR value )
  {
    std::string result = "{";
    if ( value & GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable ) result += " TriangleFacingCullDisable |";
    if ( value & GeometryInstanceFlagBitsKHR::eTriangleFlipFacing ) result += " TriangleFlipFacing |";
    if ( value & GeometryInstanceFlagBitsKHR::eForceOpaque ) result += " ForceOpaque |";
    if ( value & GeometryInstanceFlagBitsKHR::eForceNoOpaque ) result += " ForceNoOpaque |";
    if ( value & GeometryInstanceFlagBitsKHR::eForceOpacityMicromap2StateEXT ) result += " ForceOpacityMicromap2StateEXT |";
    if ( value & GeometryInstanceFlagBitsKHR::eDisableOpacityMicromapsEXT ) result += " DisableOpacityMicromapsEXT |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( BuildAccelerationStructureFlagsKHR value )
  {
    std::string result = "{";
    if ( value & BuildAccelerationStructureFlagBitsKHR::eAllowUpdate ) result += " AllowUpdate |";
    if ( value & BuildAccelerationStructureFlagBitsKHR::eAllowCompaction ) result += " AllowCompaction |";
    if ( value & BuildAccelerationStructureFlagBitsKHR::ePreferFastTrace ) result += " PreferFastTrace |";
    if ( value & BuildAccelerationStructureFlagBitsKHR::ePreferFastBuild ) result += " PreferFastBuild |";
    if ( value & BuildAccelerationStructureFlagBitsKHR::eLowMemory ) result += " LowMemory |";
    if ( value & BuildAccelerationStructureFlagBitsKHR::eMotionNV ) result += " MotionNV |";
    if ( value & BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapUpdateEXT ) result += " AllowOpacityMicromapUpdateEXT |";
    if ( value & BuildAccelerationStructureFlagBitsKHR::eAllowDisableOpacityMicromapsEXT ) result += " AllowDisableOpacityMicromapsEXT |";
    if ( value & BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapDataUpdateEXT ) result += " AllowOpacityMicromapDataUpdateEXT |";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
    if ( value & BuildAccelerationStructureFlagBitsKHR::eAllowDisplacementMicromapUpdateNV ) result += " AllowDisplacementMicromapUpdateNV |";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
    if ( value & BuildAccelerationStructureFlagBitsKHR::eAllowDataAccess ) result += " AllowDataAccess |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( AccelerationStructureCreateFlagsKHR value )
  {
    std::string result = "{";
    if ( value & AccelerationStructureCreateFlagBitsKHR::eDeviceAddressCaptureReplay ) result += " DeviceAddressCaptureReplay |";
    if ( value & AccelerationStructureCreateFlagBitsKHR::eDescriptorBufferCaptureReplayEXT ) result += " DescriptorBufferCaptureReplayEXT |";
    if ( value & AccelerationStructureCreateFlagBitsKHR::eMotionNV ) result += " MotionNV |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_NV_framebuffer_mixed_samples ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineCoverageModulationStateCreateFlagsNV )
  {
    return "{}";
  }

  //=== VK_EXT_validation_cache ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ValidationCacheCreateFlagsEXT )
  {
    return "{}";
  }

  //=== VK_AMD_pipeline_compiler_control ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineCompilerControlFlagsAMD )
  {
    return "{}";
  }

#if defined( VK_USE_PLATFORM_FUCHSIA )
  //=== VK_FUCHSIA_imagepipe_surface ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImagePipeSurfaceCreateFlagsFUCHSIA )
  {
    return "{}";
  }
#endif /*VK_USE_PLATFORM_FUCHSIA*/

#if defined( VK_USE_PLATFORM_METAL_EXT )
  //=== VK_EXT_metal_surface ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( MetalSurfaceCreateFlagsEXT )
  {
    return "{}";
  }
#endif /*VK_USE_PLATFORM_METAL_EXT*/

  //=== VK_AMD_shader_core_properties2 ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ShaderCorePropertiesFlagsAMD )
  {
    return "{}";
  }

  //=== VK_NV_coverage_reduction_mode ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineCoverageReductionStateCreateFlagsNV )
  {
    return "{}";
  }

  //=== VK_EXT_headless_surface ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( HeadlessSurfaceCreateFlagsEXT )
  {
    return "{}";
  }

  //=== VK_EXT_surface_maintenance1 ===

  VULKAN_HPP_INLINE std::string to_string( PresentScalingFlagsEXT value )
  {
    std::string result = "{";
    if ( value & PresentScalingFlagBitsEXT::eOneToOne ) result += " OneToOne |";
    if ( value & PresentScalingFlagBitsEXT::eAspectRatioStretch ) result += " AspectRatioStretch |";
    if ( value & PresentScalingFlagBitsEXT::eStretch ) result += " Stretch |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( PresentGravityFlagsEXT value )
  {
    std::string result = "{";
    if ( value & PresentGravityFlagBitsEXT::eMin ) result += " Min |";
    if ( value & PresentGravityFlagBitsEXT::eMax ) result += " Max |";
    if ( value & PresentGravityFlagBitsEXT::eCentered ) result += " Centered |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_NV_device_generated_commands ===

  VULKAN_HPP_INLINE std::string to_string( IndirectStateFlagsNV value )
  {
    std::string result = "{";
    if ( value & IndirectStateFlagBitsNV::eFlagFrontface ) result += " FlagFrontface |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( IndirectCommandsLayoutUsageFlagsNV value )
  {
    std::string result = "{";
    if ( value & IndirectCommandsLayoutUsageFlagBitsNV::eExplicitPreprocess ) result += " ExplicitPreprocess |";
    if ( value & IndirectCommandsLayoutUsageFlagBitsNV::eIndexedSequences ) result += " IndexedSequences |";
    if ( value & IndirectCommandsLayoutUsageFlagBitsNV::eUnorderedSequences ) result += " UnorderedSequences |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_EXT_device_memory_report ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DeviceMemoryReportFlagsEXT )
  {
    return "{}";
  }

  //=== VK_KHR_video_encode_queue ===

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeFlagBitsKHR::eWithQuantizationDeltaMap ) result += " WithQuantizationDeltaMap |";
    if ( value & VideoEncodeFlagBitsKHR::eWithEmphasisMap ) result += " WithEmphasisMap |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeCapabilityFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeCapabilityFlagBitsKHR::ePrecedingExternallyEncodedBytes ) result += " PrecedingExternallyEncodedBytes |";
    if ( value & VideoEncodeCapabilityFlagBitsKHR::eInsufficientBitstreamBufferRangeDetection ) result += " InsufficientBitstreamBufferRangeDetection |";
    if ( value & VideoEncodeCapabilityFlagBitsKHR::eQuantizationDeltaMap ) result += " QuantizationDeltaMap |";
    if ( value & VideoEncodeCapabilityFlagBitsKHR::eEmphasisMap ) result += " EmphasisMap |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeFeedbackFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeFeedbackFlagBitsKHR::eBitstreamBufferOffset ) result += " BitstreamBufferOffset |";
    if ( value & VideoEncodeFeedbackFlagBitsKHR::eBitstreamBytesWritten ) result += " BitstreamBytesWritten |";
    if ( value & VideoEncodeFeedbackFlagBitsKHR::eBitstreamHasOverrides ) result += " BitstreamHasOverrides |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeUsageFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeUsageFlagBitsKHR::eTranscoding ) result += " Transcoding |";
    if ( value & VideoEncodeUsageFlagBitsKHR::eStreaming ) result += " Streaming |";
    if ( value & VideoEncodeUsageFlagBitsKHR::eRecording ) result += " Recording |";
    if ( value & VideoEncodeUsageFlagBitsKHR::eConferencing ) result += " Conferencing |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "Default";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeContentFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeContentFlagBitsKHR::eCamera ) result += " Camera |";
    if ( value & VideoEncodeContentFlagBitsKHR::eDesktop ) result += " Desktop |";
    if ( value & VideoEncodeContentFlagBitsKHR::eRendered ) result += " Rendered |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "Default";
    return result;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeRateControlFlagsKHR )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeRateControlModeFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeRateControlModeFlagBitsKHR::eDisabled ) result += " Disabled |";
    if ( value & VideoEncodeRateControlModeFlagBitsKHR::eCbr ) result += " Cbr |";
    if ( value & VideoEncodeRateControlModeFlagBitsKHR::eVbr ) result += " Vbr |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "Default";
    return result;
  }

  //=== VK_NV_device_diagnostics_config ===

  VULKAN_HPP_INLINE std::string to_string( DeviceDiagnosticsConfigFlagsNV value )
  {
    std::string result = "{";
    if ( value & DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderDebugInfo ) result += " EnableShaderDebugInfo |";
    if ( value & DeviceDiagnosticsConfigFlagBitsNV::eEnableResourceTracking ) result += " EnableResourceTracking |";
    if ( value & DeviceDiagnosticsConfigFlagBitsNV::eEnableAutomaticCheckpoints ) result += " EnableAutomaticCheckpoints |";
    if ( value & DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderErrorReporting ) result += " EnableShaderErrorReporting |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_QCOM_tile_shading ===

  VULKAN_HPP_INLINE std::string to_string( TileShadingRenderPassFlagsQCOM value )
  {
    std::string result = "{";
    if ( value & TileShadingRenderPassFlagBitsQCOM::eEnable ) result += " Enable |";
    if ( value & TileShadingRenderPassFlagBitsQCOM::ePerTileExecution ) result += " PerTileExecution |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

#if defined( VK_USE_PLATFORM_METAL_EXT )
  //=== VK_EXT_metal_objects ===

  VULKAN_HPP_INLINE std::string to_string( ExportMetalObjectTypeFlagsEXT value )
  {
    std::string result = "{";
    if ( value & ExportMetalObjectTypeFlagBitsEXT::eMetalDevice ) result += " MetalDevice |";
    if ( value & ExportMetalObjectTypeFlagBitsEXT::eMetalCommandQueue ) result += " MetalCommandQueue |";
    if ( value & ExportMetalObjectTypeFlagBitsEXT::eMetalBuffer ) result += " MetalBuffer |";
    if ( value & ExportMetalObjectTypeFlagBitsEXT::eMetalTexture ) result += " MetalTexture |";
    if ( value & ExportMetalObjectTypeFlagBitsEXT::eMetalIosurface ) result += " MetalIosurface |";
    if ( value & ExportMetalObjectTypeFlagBitsEXT::eMetalSharedEvent ) result += " MetalSharedEvent |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }
#endif /*VK_USE_PLATFORM_METAL_EXT*/

  //=== VK_EXT_graphics_pipeline_library ===

  VULKAN_HPP_INLINE std::string to_string( GraphicsPipelineLibraryFlagsEXT value )
  {
    std::string result = "{";
    if ( value & GraphicsPipelineLibraryFlagBitsEXT::eVertexInputInterface ) result += " VertexInputInterface |";
    if ( value & GraphicsPipelineLibraryFlagBitsEXT::ePreRasterizationShaders ) result += " PreRasterizationShaders |";
    if ( value & GraphicsPipelineLibraryFlagBitsEXT::eFragmentShader ) result += " FragmentShader |";
    if ( value & GraphicsPipelineLibraryFlagBitsEXT::eFragmentOutputInterface ) result += " FragmentOutputInterface |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_NV_ray_tracing_motion_blur ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AccelerationStructureMotionInfoFlagsNV )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AccelerationStructureMotionInstanceFlagsNV )
  {
    return "{}";
  }

  //=== VK_EXT_image_compression_control ===

  VULKAN_HPP_INLINE std::string to_string( ImageCompressionFlagsEXT value )
  {
    std::string result = "{";
    if ( value & ImageCompressionFlagBitsEXT::eFixedRateDefault ) result += " FixedRateDefault |";
    if ( value & ImageCompressionFlagBitsEXT::eFixedRateExplicit ) result += " FixedRateExplicit |";
    if ( value & ImageCompressionFlagBitsEXT::eDisabled ) result += " Disabled |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "Default";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( ImageCompressionFixedRateFlagsEXT value )
  {
    std::string result = "{";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e1Bpc ) result += " 1Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e2Bpc ) result += " 2Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e3Bpc ) result += " 3Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e4Bpc ) result += " 4Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e5Bpc ) result += " 5Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e6Bpc ) result += " 6Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e7Bpc ) result += " 7Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e8Bpc ) result += " 8Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e9Bpc ) result += " 9Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e10Bpc ) result += " 10Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e11Bpc ) result += " 11Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e12Bpc ) result += " 12Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e13Bpc ) result += " 13Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e14Bpc ) result += " 14Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e15Bpc ) result += " 15Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e16Bpc ) result += " 16Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e17Bpc ) result += " 17Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e18Bpc ) result += " 18Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e19Bpc ) result += " 19Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e20Bpc ) result += " 20Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e21Bpc ) result += " 21Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e22Bpc ) result += " 22Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e23Bpc ) result += " 23Bpc |";
    if ( value & ImageCompressionFixedRateFlagBitsEXT::e24Bpc ) result += " 24Bpc |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "None";
    return result;
  }

#if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
  //=== VK_EXT_directfb_surface ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DirectFBSurfaceCreateFlagsEXT )
  {
    return "{}";
  }
#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/

  //=== VK_EXT_device_address_binding_report ===

  VULKAN_HPP_INLINE std::string to_string( DeviceAddressBindingFlagsEXT value )
  {
    std::string result = "{";
    if ( value & DeviceAddressBindingFlagBitsEXT::eInternalObject ) result += " InternalObject |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

#if defined( VK_USE_PLATFORM_FUCHSIA )
  //=== VK_FUCHSIA_buffer_collection ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImageFormatConstraintsFlagsFUCHSIA )
  {
    return "{}";
  }

  VULKAN_HPP_INLINE std::string to_string( ImageConstraintsInfoFlagsFUCHSIA value )
  {
    std::string result = "{";
    if ( value & ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadRarely ) result += " CpuReadRarely |";
    if ( value & ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadOften ) result += " CpuReadOften |";
    if ( value & ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteRarely ) result += " CpuWriteRarely |";
    if ( value & ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteOften ) result += " CpuWriteOften |";
    if ( value & ImageConstraintsInfoFlagBitsFUCHSIA::eProtectedOptional ) result += " ProtectedOptional |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }
#endif /*VK_USE_PLATFORM_FUCHSIA*/

  //=== VK_EXT_frame_boundary ===

  VULKAN_HPP_INLINE std::string to_string( FrameBoundaryFlagsEXT value )
  {
    std::string result = "{";
    if ( value & FrameBoundaryFlagBitsEXT::eFrameEnd ) result += " FrameEnd |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

#if defined( VK_USE_PLATFORM_SCREEN_QNX )
  //=== VK_QNX_screen_surface ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ScreenSurfaceCreateFlagsQNX )
  {
    return "{}";
  }
#endif /*VK_USE_PLATFORM_SCREEN_QNX*/

  //=== VK_EXT_opacity_micromap ===

  VULKAN_HPP_INLINE std::string to_string( BuildMicromapFlagsEXT value )
  {
    std::string result = "{";
    if ( value & BuildMicromapFlagBitsEXT::ePreferFastTrace ) result += " PreferFastTrace |";
    if ( value & BuildMicromapFlagBitsEXT::ePreferFastBuild ) result += " PreferFastBuild |";
    if ( value & BuildMicromapFlagBitsEXT::eAllowCompaction ) result += " AllowCompaction |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( MicromapCreateFlagsEXT value )
  {
    std::string result = "{";
    if ( value & MicromapCreateFlagBitsEXT::eDeviceAddressCaptureReplay ) result += " DeviceAddressCaptureReplay |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_ARM_scheduling_controls ===

  VULKAN_HPP_INLINE std::string to_string( PhysicalDeviceSchedulingControlsFlagsARM value )
  {
    std::string result = "{";
    if ( value & PhysicalDeviceSchedulingControlsFlagBitsARM::eShaderCoreCount ) result += " ShaderCoreCount |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_NV_memory_decompression ===

  VULKAN_HPP_INLINE std::string to_string( MemoryDecompressionMethodFlagsNV value )
  {
    std::string result = "{";
    if ( value & MemoryDecompressionMethodFlagBitsNV::eGdeflate10 ) result += " Gdeflate10 |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_LUNARG_direct_driver_loading ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DirectDriverLoadingFlagsLUNARG )
  {
    return "{}";
  }

  //=== VK_ARM_tensors ===

  VULKAN_HPP_INLINE std::string to_string( TensorCreateFlagsARM value )
  {
    std::string result = "{";
    if ( value & TensorCreateFlagBitsARM::eMutableFormat ) result += " MutableFormat |";
    if ( value & TensorCreateFlagBitsARM::eProtected ) result += " Protected |";
    if ( value & TensorCreateFlagBitsARM::eDescriptorBufferCaptureReplay ) result += " DescriptorBufferCaptureReplay |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( TensorViewCreateFlagsARM value )
  {
    std::string result = "{";
    if ( value & TensorViewCreateFlagBitsARM::eDescriptorBufferCaptureReplay ) result += " DescriptorBufferCaptureReplay |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( TensorUsageFlagsARM value )
  {
    std::string result = "{";
    if ( value & TensorUsageFlagBitsARM::eShader ) result += " Shader |";
    if ( value & TensorUsageFlagBitsARM::eTransferSrc ) result += " TransferSrc |";
    if ( value & TensorUsageFlagBitsARM::eTransferDst ) result += " TransferDst |";
    if ( value & TensorUsageFlagBitsARM::eImageAliasing ) result += " ImageAliasing |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_NV_optical_flow ===

  VULKAN_HPP_INLINE std::string to_string( OpticalFlowUsageFlagsNV value )
  {
    std::string result = "{";
    if ( value & OpticalFlowUsageFlagBitsNV::eInput ) result += " Input |";
    if ( value & OpticalFlowUsageFlagBitsNV::eOutput ) result += " Output |";
    if ( value & OpticalFlowUsageFlagBitsNV::eHint ) result += " Hint |";
    if ( value & OpticalFlowUsageFlagBitsNV::eCost ) result += " Cost |";
    if ( value & OpticalFlowUsageFlagBitsNV::eGlobalFlow ) result += " GlobalFlow |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "Unknown";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( OpticalFlowGridSizeFlagsNV value )
  {
    std::string result = "{";
    if ( value & OpticalFlowGridSizeFlagBitsNV::e1X1 ) result += " 1X1 |";
    if ( value & OpticalFlowGridSizeFlagBitsNV::e2X2 ) result += " 2X2 |";
    if ( value & OpticalFlowGridSizeFlagBitsNV::e4X4 ) result += " 4X4 |";
    if ( value & OpticalFlowGridSizeFlagBitsNV::e8X8 ) result += " 8X8 |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "Unknown";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( OpticalFlowSessionCreateFlagsNV value )
  {
    std::string result = "{";
    if ( value & OpticalFlowSessionCreateFlagBitsNV::eEnableHint ) result += " EnableHint |";
    if ( value & OpticalFlowSessionCreateFlagBitsNV::eEnableCost ) result += " EnableCost |";
    if ( value & OpticalFlowSessionCreateFlagBitsNV::eEnableGlobalFlow ) result += " EnableGlobalFlow |";
    if ( value & OpticalFlowSessionCreateFlagBitsNV::eAllowRegions ) result += " AllowRegions |";
    if ( value & OpticalFlowSessionCreateFlagBitsNV::eBothDirections ) result += " BothDirections |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( OpticalFlowExecuteFlagsNV value )
  {
    std::string result = "{";
    if ( value & OpticalFlowExecuteFlagBitsNV::eDisableTemporalHints ) result += " DisableTemporalHints |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_EXT_shader_object ===

  VULKAN_HPP_INLINE std::string to_string( ShaderCreateFlagsEXT value )
  {
    std::string result = "{";
    if ( value & ShaderCreateFlagBitsEXT::eLinkStage ) result += " LinkStage |";
    if ( value & ShaderCreateFlagBitsEXT::eAllowVaryingSubgroupSize ) result += " AllowVaryingSubgroupSize |";
    if ( value & ShaderCreateFlagBitsEXT::eRequireFullSubgroups ) result += " RequireFullSubgroups |";
    if ( value & ShaderCreateFlagBitsEXT::eNoTaskShader ) result += " NoTaskShader |";
    if ( value & ShaderCreateFlagBitsEXT::eDispatchBase ) result += " DispatchBase |";
    if ( value & ShaderCreateFlagBitsEXT::eFragmentShadingRateAttachment ) result += " FragmentShadingRateAttachment |";
    if ( value & ShaderCreateFlagBitsEXT::eFragmentDensityMapAttachment ) result += " FragmentDensityMapAttachment |";
    if ( value & ShaderCreateFlagBitsEXT::eIndirectBindable ) result += " IndirectBindable |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_KHR_video_encode_av1 ===

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeAV1CapabilityFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeAV1CapabilityFlagBitsKHR::ePerRateControlGroupMinMaxQIndex ) result += " PerRateControlGroupMinMaxQIndex |";
    if ( value & VideoEncodeAV1CapabilityFlagBitsKHR::eGenerateObuExtensionHeader ) result += " GenerateObuExtensionHeader |";
    if ( value & VideoEncodeAV1CapabilityFlagBitsKHR::ePrimaryReferenceCdfOnly ) result += " PrimaryReferenceCdfOnly |";
    if ( value & VideoEncodeAV1CapabilityFlagBitsKHR::eFrameSizeOverride ) result += " FrameSizeOverride |";
    if ( value & VideoEncodeAV1CapabilityFlagBitsKHR::eMotionVectorScaling ) result += " MotionVectorScaling |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeAV1StdFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeAV1StdFlagBitsKHR::eUniformTileSpacingFlagSet ) result += " UniformTileSpacingFlagSet |";
    if ( value & VideoEncodeAV1StdFlagBitsKHR::eSkipModePresentUnset ) result += " SkipModePresentUnset |";
    if ( value & VideoEncodeAV1StdFlagBitsKHR::ePrimaryRefFrame ) result += " PrimaryRefFrame |";
    if ( value & VideoEncodeAV1StdFlagBitsKHR::eDeltaQ ) result += " DeltaQ |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeAV1SuperblockSizeFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeAV1SuperblockSizeFlagBitsKHR::e64 ) result += " 64 |";
    if ( value & VideoEncodeAV1SuperblockSizeFlagBitsKHR::e128 ) result += " 128 |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( VideoEncodeAV1RateControlFlagsKHR value )
  {
    std::string result = "{";
    if ( value & VideoEncodeAV1RateControlFlagBitsKHR::eRegularGop ) result += " RegularGop |";
    if ( value & VideoEncodeAV1RateControlFlagBitsKHR::eTemporalLayerPatternDyadic ) result += " TemporalLayerPatternDyadic |";
    if ( value & VideoEncodeAV1RateControlFlagBitsKHR::eReferencePatternFlat ) result += " ReferencePatternFlat |";
    if ( value & VideoEncodeAV1RateControlFlagBitsKHR::eReferencePatternDyadic ) result += " ReferencePatternDyadic |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_NV_cluster_acceleration_structure ===

  VULKAN_HPP_INLINE std::string to_string( ClusterAccelerationStructureClusterFlagsNV value )
  {
    std::string result = "{";
    if ( value & ClusterAccelerationStructureClusterFlagBitsNV::eAllowDisableOpacityMicromaps ) result += " AllowDisableOpacityMicromaps |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( ClusterAccelerationStructureGeometryFlagsNV value )
  {
    std::string result = "{";
    if ( value & ClusterAccelerationStructureGeometryFlagBitsNV::eCullDisable ) result += " CullDisable |";
    if ( value & ClusterAccelerationStructureGeometryFlagBitsNV::eNoDuplicateAnyhitInvocation ) result += " NoDuplicateAnyhitInvocation |";
    if ( value & ClusterAccelerationStructureGeometryFlagBitsNV::eOpaque ) result += " Opaque |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( ClusterAccelerationStructureAddressResolutionFlagsNV value )
  {
    std::string result = "{";
    if ( value & ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedDstImplicitData ) result += " IndirectedDstImplicitData |";
    if ( value & ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedScratchData ) result += " IndirectedScratchData |";
    if ( value & ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedDstAddressArray ) result += " IndirectedDstAddressArray |";
    if ( value & ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedDstSizesArray ) result += " IndirectedDstSizesArray |";
    if ( value & ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedSrcInfosArray ) result += " IndirectedSrcInfosArray |";
    if ( value & ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedSrcInfosCount ) result += " IndirectedSrcInfosCount |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( ClusterAccelerationStructureIndexFormatFlagsNV value )
  {
    std::string result = "{";
    if ( value & ClusterAccelerationStructureIndexFormatFlagBitsNV::e8 ) result += " 8 |";
    if ( value & ClusterAccelerationStructureIndexFormatFlagBitsNV::e16 ) result += " 16 |";
    if ( value & ClusterAccelerationStructureIndexFormatFlagBitsNV::e32 ) result += " 32 |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_NV_partitioned_acceleration_structure ===

  VULKAN_HPP_INLINE std::string to_string( PartitionedAccelerationStructureInstanceFlagsNV value )
  {
    std::string result = "{";
    if ( value & PartitionedAccelerationStructureInstanceFlagBitsNV::eFlagTriangleFacingCullDisable ) result += " FlagTriangleFacingCullDisable |";
    if ( value & PartitionedAccelerationStructureInstanceFlagBitsNV::eFlagTriangleFlipFacing ) result += " FlagTriangleFlipFacing |";
    if ( value & PartitionedAccelerationStructureInstanceFlagBitsNV::eFlagForceOpaque ) result += " FlagForceOpaque |";
    if ( value & PartitionedAccelerationStructureInstanceFlagBitsNV::eFlagForceNoOpaque ) result += " FlagForceNoOpaque |";
    if ( value & PartitionedAccelerationStructureInstanceFlagBitsNV::eFlagEnableExplicitBoundingBox ) result += " FlagEnableExplicitBoundingBox |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_EXT_device_generated_commands ===

  VULKAN_HPP_INLINE std::string to_string( IndirectCommandsLayoutUsageFlagsEXT value )
  {
    std::string result = "{";
    if ( value & IndirectCommandsLayoutUsageFlagBitsEXT::eExplicitPreprocess ) result += " ExplicitPreprocess |";
    if ( value & IndirectCommandsLayoutUsageFlagBitsEXT::eUnorderedSequences ) result += " UnorderedSequences |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  VULKAN_HPP_INLINE std::string to_string( IndirectCommandsInputModeFlagsEXT value )
  {
    std::string result = "{";
    if ( value & IndirectCommandsInputModeFlagBitsEXT::eVulkanIndexBuffer ) result += " VulkanIndexBuffer |";
    if ( value & IndirectCommandsInputModeFlagBitsEXT::eDxgiIndexBuffer ) result += " DxgiIndexBuffer |";

    if ( result.size() > 1 )
      result.back() = '}';
    else 
      result = "{}";
    return result;
  }

  //=== VK_KHR_maintenance8 ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AccessFlags3KHR )
  {
    return "None";
  }

#if defined( VK_USE_PLATFORM_OHOS )
  //=== VK_OHOS_surface ===

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SurfaceCreateFlagsOHOS )
  {
    return "{}";
  }
#endif /*VK_USE_PLATFORM_OHOS*/



  //=======================
  //=== ENUMs to_string ===
  //=======================

  VULKAN_HPP_INLINE std::string toHexString( uint32_t value )
  {
#if __cpp_lib_format
    return std::format( "{:x}", value );
#else
    std::stringstream stream;
    stream << std::hex << value;
    return stream.str();
#endif
  }


  //=== VK_VERSION_1_0 ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( Result value )
  {
    switch ( value )
    {
      case Result::eSuccess : return "Success";
      case Result::eNotReady : return "NotReady";
      case Result::eTimeout : return "Timeout";
      case Result::eEventSet : return "EventSet";
      case Result::eEventReset : return "EventReset";
      case Result::eIncomplete : return "Incomplete";
      case Result::eErrorOutOfHostMemory : return "ErrorOutOfHostMemory";
      case Result::eErrorOutOfDeviceMemory : return "ErrorOutOfDeviceMemory";
      case Result::eErrorInitializationFailed : return "ErrorInitializationFailed";
      case Result::eErrorDeviceLost : return "ErrorDeviceLost";
      case Result::eErrorMemoryMapFailed : return "ErrorMemoryMapFailed";
      case Result::eErrorLayerNotPresent : return "ErrorLayerNotPresent";
      case Result::eErrorExtensionNotPresent : return "ErrorExtensionNotPresent";
      case Result::eErrorFeatureNotPresent : return "ErrorFeatureNotPresent";
      case Result::eErrorIncompatibleDriver : return "ErrorIncompatibleDriver";
      case Result::eErrorTooManyObjects : return "ErrorTooManyObjects";
      case Result::eErrorFormatNotSupported : return "ErrorFormatNotSupported";
      case Result::eErrorFragmentedPool : return "ErrorFragmentedPool";
      case Result::eErrorUnknown : return "ErrorUnknown";
      case Result::eErrorOutOfPoolMemory : return "ErrorOutOfPoolMemory";
      case Result::eErrorInvalidExternalHandle : return "ErrorInvalidExternalHandle";
      case Result::eErrorFragmentation : return "ErrorFragmentation";
      case Result::eErrorInvalidOpaqueCaptureAddress : return "ErrorInvalidOpaqueCaptureAddress";
      case Result::ePipelineCompileRequired : return "PipelineCompileRequired";
      case Result::eErrorNotPermitted : return "ErrorNotPermitted";
      case Result::eErrorSurfaceLostKHR : return "ErrorSurfaceLostKHR";
      case Result::eErrorNativeWindowInUseKHR : return "ErrorNativeWindowInUseKHR";
      case Result::eSuboptimalKHR : return "SuboptimalKHR";
      case Result::eErrorOutOfDateKHR : return "ErrorOutOfDateKHR";
      case Result::eErrorIncompatibleDisplayKHR : return "ErrorIncompatibleDisplayKHR";
      case Result::eErrorValidationFailedEXT : return "ErrorValidationFailedEXT";
      case Result::eErrorInvalidShaderNV : return "ErrorInvalidShaderNV";
      case Result::eErrorImageUsageNotSupportedKHR : return "ErrorImageUsageNotSupportedKHR";
      case Result::eErrorVideoPictureLayoutNotSupportedKHR : return "ErrorVideoPictureLayoutNotSupportedKHR";
      case Result::eErrorVideoProfileOperationNotSupportedKHR : return "ErrorVideoProfileOperationNotSupportedKHR";
      case Result::eErrorVideoProfileFormatNotSupportedKHR : return "ErrorVideoProfileFormatNotSupportedKHR";
      case Result::eErrorVideoProfileCodecNotSupportedKHR : return "ErrorVideoProfileCodecNotSupportedKHR";
      case Result::eErrorVideoStdVersionNotSupportedKHR : return "ErrorVideoStdVersionNotSupportedKHR";
      case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT : return "ErrorInvalidDrmFormatModifierPlaneLayoutEXT";
#if defined( VK_USE_PLATFORM_WIN32_KHR )
      case Result::eErrorFullScreenExclusiveModeLostEXT : return "ErrorFullScreenExclusiveModeLostEXT";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
      case Result::eThreadIdleKHR : return "ThreadIdleKHR";
      case Result::eThreadDoneKHR : return "ThreadDoneKHR";
      case Result::eOperationDeferredKHR : return "OperationDeferredKHR";
      case Result::eOperationNotDeferredKHR : return "OperationNotDeferredKHR";
      case Result::eErrorInvalidVideoStdParametersKHR : return "ErrorInvalidVideoStdParametersKHR";
      case Result::eErrorCompressionExhaustedEXT : return "ErrorCompressionExhaustedEXT";
      case Result::eIncompatibleShaderBinaryEXT : return "IncompatibleShaderBinaryEXT";
      case Result::ePipelineBinaryMissingKHR : return "PipelineBinaryMissingKHR";
      case Result::eErrorNotEnoughSpaceKHR : return "ErrorNotEnoughSpaceKHR";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( StructureType value )
  {
    switch ( value )
    {
      case StructureType::eApplicationInfo : return "ApplicationInfo";
      case StructureType::eInstanceCreateInfo : return "InstanceCreateInfo";
      case StructureType::eDeviceQueueCreateInfo : return "DeviceQueueCreateInfo";
      case StructureType::eDeviceCreateInfo : return "DeviceCreateInfo";
      case StructureType::eSubmitInfo : return "SubmitInfo";
      case StructureType::eMemoryAllocateInfo : return "MemoryAllocateInfo";
      case StructureType::eMappedMemoryRange : return "MappedMemoryRange";
      case StructureType::eBindSparseInfo : return "BindSparseInfo";
      case StructureType::eFenceCreateInfo : return "FenceCreateInfo";
      case StructureType::eSemaphoreCreateInfo : return "SemaphoreCreateInfo";
      case StructureType::eEventCreateInfo : return "EventCreateInfo";
      case StructureType::eQueryPoolCreateInfo : return "QueryPoolCreateInfo";
      case StructureType::eBufferCreateInfo : return "BufferCreateInfo";
      case StructureType::eBufferViewCreateInfo : return "BufferViewCreateInfo";
      case StructureType::eImageCreateInfo : return "ImageCreateInfo";
      case StructureType::eImageViewCreateInfo : return "ImageViewCreateInfo";
      case StructureType::eShaderModuleCreateInfo : return "ShaderModuleCreateInfo";
      case StructureType::ePipelineCacheCreateInfo : return "PipelineCacheCreateInfo";
      case StructureType::ePipelineShaderStageCreateInfo : return "PipelineShaderStageCreateInfo";
      case StructureType::ePipelineVertexInputStateCreateInfo : return "PipelineVertexInputStateCreateInfo";
      case StructureType::ePipelineInputAssemblyStateCreateInfo : return "PipelineInputAssemblyStateCreateInfo";
      case StructureType::ePipelineTessellationStateCreateInfo : return "PipelineTessellationStateCreateInfo";
      case StructureType::ePipelineViewportStateCreateInfo : return "PipelineViewportStateCreateInfo";
      case StructureType::ePipelineRasterizationStateCreateInfo : return "PipelineRasterizationStateCreateInfo";
      case StructureType::ePipelineMultisampleStateCreateInfo : return "PipelineMultisampleStateCreateInfo";
      case StructureType::ePipelineDepthStencilStateCreateInfo : return "PipelineDepthStencilStateCreateInfo";
      case StructureType::ePipelineColorBlendStateCreateInfo : return "PipelineColorBlendStateCreateInfo";
      case StructureType::ePipelineDynamicStateCreateInfo : return "PipelineDynamicStateCreateInfo";
      case StructureType::eGraphicsPipelineCreateInfo : return "GraphicsPipelineCreateInfo";
      case StructureType::eComputePipelineCreateInfo : return "ComputePipelineCreateInfo";
      case StructureType::ePipelineLayoutCreateInfo : return "PipelineLayoutCreateInfo";
      case StructureType::eSamplerCreateInfo : return "SamplerCreateInfo";
      case StructureType::eDescriptorSetLayoutCreateInfo : return "DescriptorSetLayoutCreateInfo";
      case StructureType::eDescriptorPoolCreateInfo : return "DescriptorPoolCreateInfo";
      case StructureType::eDescriptorSetAllocateInfo : return "DescriptorSetAllocateInfo";
      case StructureType::eWriteDescriptorSet : return "WriteDescriptorSet";
      case StructureType::eCopyDescriptorSet : return "CopyDescriptorSet";
      case StructureType::eFramebufferCreateInfo : return "FramebufferCreateInfo";
      case StructureType::eRenderPassCreateInfo : return "RenderPassCreateInfo";
      case StructureType::eCommandPoolCreateInfo : return "CommandPoolCreateInfo";
      case StructureType::eCommandBufferAllocateInfo : return "CommandBufferAllocateInfo";
      case StructureType::eCommandBufferInheritanceInfo : return "CommandBufferInheritanceInfo";
      case StructureType::eCommandBufferBeginInfo : return "CommandBufferBeginInfo";
      case StructureType::eRenderPassBeginInfo : return "RenderPassBeginInfo";
      case StructureType::eBufferMemoryBarrier : return "BufferMemoryBarrier";
      case StructureType::eImageMemoryBarrier : return "ImageMemoryBarrier";
      case StructureType::eMemoryBarrier : return "MemoryBarrier";
      case StructureType::eLoaderInstanceCreateInfo : return "LoaderInstanceCreateInfo";
      case StructureType::eLoaderDeviceCreateInfo : return "LoaderDeviceCreateInfo";
      case StructureType::ePhysicalDeviceSubgroupProperties : return "PhysicalDeviceSubgroupProperties";
      case StructureType::eBindBufferMemoryInfo : return "BindBufferMemoryInfo";
      case StructureType::eBindImageMemoryInfo : return "BindImageMemoryInfo";
      case StructureType::ePhysicalDevice16BitStorageFeatures : return "PhysicalDevice16BitStorageFeatures";
      case StructureType::eMemoryDedicatedRequirements : return "MemoryDedicatedRequirements";
      case StructureType::eMemoryDedicatedAllocateInfo : return "MemoryDedicatedAllocateInfo";
      case StructureType::eMemoryAllocateFlagsInfo : return "MemoryAllocateFlagsInfo";
      case StructureType::eDeviceGroupRenderPassBeginInfo : return "DeviceGroupRenderPassBeginInfo";
      case StructureType::eDeviceGroupCommandBufferBeginInfo : return "DeviceGroupCommandBufferBeginInfo";
      case StructureType::eDeviceGroupSubmitInfo : return "DeviceGroupSubmitInfo";
      case StructureType::eDeviceGroupBindSparseInfo : return "DeviceGroupBindSparseInfo";
      case StructureType::eBindBufferMemoryDeviceGroupInfo : return "BindBufferMemoryDeviceGroupInfo";
      case StructureType::eBindImageMemoryDeviceGroupInfo : return "BindImageMemoryDeviceGroupInfo";
      case StructureType::ePhysicalDeviceGroupProperties : return "PhysicalDeviceGroupProperties";
      case StructureType::eDeviceGroupDeviceCreateInfo : return "DeviceGroupDeviceCreateInfo";
      case StructureType::eBufferMemoryRequirementsInfo2 : return "BufferMemoryRequirementsInfo2";
      case StructureType::eImageMemoryRequirementsInfo2 : return "ImageMemoryRequirementsInfo2";
      case StructureType::eImageSparseMemoryRequirementsInfo2 : return "ImageSparseMemoryRequirementsInfo2";
      case StructureType::eMemoryRequirements2 : return "MemoryRequirements2";
      case StructureType::eSparseImageMemoryRequirements2 : return "SparseImageMemoryRequirements2";
      case StructureType::ePhysicalDeviceFeatures2 : return "PhysicalDeviceFeatures2";
      case StructureType::ePhysicalDeviceProperties2 : return "PhysicalDeviceProperties2";
      case StructureType::eFormatProperties2 : return "FormatProperties2";
      case StructureType::eImageFormatProperties2 : return "ImageFormatProperties2";
      case StructureType::ePhysicalDeviceImageFormatInfo2 : return "PhysicalDeviceImageFormatInfo2";
      case StructureType::eQueueFamilyProperties2 : return "QueueFamilyProperties2";
      case StructureType::ePhysicalDeviceMemoryProperties2 : return "PhysicalDeviceMemoryProperties2";
      case StructureType::eSparseImageFormatProperties2 : return "SparseImageFormatProperties2";
      case StructureType::ePhysicalDeviceSparseImageFormatInfo2 : return "PhysicalDeviceSparseImageFormatInfo2";
      case StructureType::ePhysicalDevicePointClippingProperties : return "PhysicalDevicePointClippingProperties";
      case StructureType::eRenderPassInputAttachmentAspectCreateInfo : return "RenderPassInputAttachmentAspectCreateInfo";
      case StructureType::eImageViewUsageCreateInfo : return "ImageViewUsageCreateInfo";
      case StructureType::ePipelineTessellationDomainOriginStateCreateInfo : return "PipelineTessellationDomainOriginStateCreateInfo";
      case StructureType::eRenderPassMultiviewCreateInfo : return "RenderPassMultiviewCreateInfo";
      case StructureType::ePhysicalDeviceMultiviewFeatures : return "PhysicalDeviceMultiviewFeatures";
      case StructureType::ePhysicalDeviceMultiviewProperties : return "PhysicalDeviceMultiviewProperties";
      case StructureType::ePhysicalDeviceVariablePointersFeatures : return "PhysicalDeviceVariablePointersFeatures";
      case StructureType::eProtectedSubmitInfo : return "ProtectedSubmitInfo";
      case StructureType::ePhysicalDeviceProtectedMemoryFeatures : return "PhysicalDeviceProtectedMemoryFeatures";
      case StructureType::ePhysicalDeviceProtectedMemoryProperties : return "PhysicalDeviceProtectedMemoryProperties";
      case StructureType::eDeviceQueueInfo2 : return "DeviceQueueInfo2";
      case StructureType::eSamplerYcbcrConversionCreateInfo : return "SamplerYcbcrConversionCreateInfo";
      case StructureType::eSamplerYcbcrConversionInfo : return "SamplerYcbcrConversionInfo";
      case StructureType::eBindImagePlaneMemoryInfo : return "BindImagePlaneMemoryInfo";
      case StructureType::eImagePlaneMemoryRequirementsInfo : return "ImagePlaneMemoryRequirementsInfo";
      case StructureType::ePhysicalDeviceSamplerYcbcrConversionFeatures : return "PhysicalDeviceSamplerYcbcrConversionFeatures";
      case StructureType::eSamplerYcbcrConversionImageFormatProperties : return "SamplerYcbcrConversionImageFormatProperties";
      case StructureType::eDescriptorUpdateTemplateCreateInfo : return "DescriptorUpdateTemplateCreateInfo";
      case StructureType::ePhysicalDeviceExternalImageFormatInfo : return "PhysicalDeviceExternalImageFormatInfo";
      case StructureType::eExternalImageFormatProperties : return "ExternalImageFormatProperties";
      case StructureType::ePhysicalDeviceExternalBufferInfo : return "PhysicalDeviceExternalBufferInfo";
      case StructureType::eExternalBufferProperties : return "ExternalBufferProperties";
      case StructureType::ePhysicalDeviceIdProperties : return "PhysicalDeviceIdProperties";
      case StructureType::eExternalMemoryBufferCreateInfo : return "ExternalMemoryBufferCreateInfo";
      case StructureType::eExternalMemoryImageCreateInfo : return "ExternalMemoryImageCreateInfo";
      case StructureType::eExportMemoryAllocateInfo : return "ExportMemoryAllocateInfo";
      case StructureType::ePhysicalDeviceExternalFenceInfo : return "PhysicalDeviceExternalFenceInfo";
      case StructureType::eExternalFenceProperties : return "ExternalFenceProperties";
      case StructureType::eExportFenceCreateInfo : return "ExportFenceCreateInfo";
      case StructureType::eExportSemaphoreCreateInfo : return "ExportSemaphoreCreateInfo";
      case StructureType::ePhysicalDeviceExternalSemaphoreInfo : return "PhysicalDeviceExternalSemaphoreInfo";
      case StructureType::eExternalSemaphoreProperties : return "ExternalSemaphoreProperties";
      case StructureType::ePhysicalDeviceMaintenance3Properties : return "PhysicalDeviceMaintenance3Properties";
      case StructureType::eDescriptorSetLayoutSupport : return "DescriptorSetLayoutSupport";
      case StructureType::ePhysicalDeviceShaderDrawParametersFeatures : return "PhysicalDeviceShaderDrawParametersFeatures";
      case StructureType::ePhysicalDeviceVulkan11Features : return "PhysicalDeviceVulkan11Features";
      case StructureType::ePhysicalDeviceVulkan11Properties : return "PhysicalDeviceVulkan11Properties";
      case StructureType::ePhysicalDeviceVulkan12Features : return "PhysicalDeviceVulkan12Features";
      case StructureType::ePhysicalDeviceVulkan12Properties : return "PhysicalDeviceVulkan12Properties";
      case StructureType::eImageFormatListCreateInfo : return "ImageFormatListCreateInfo";
      case StructureType::eAttachmentDescription2 : return "AttachmentDescription2";
      case StructureType::eAttachmentReference2 : return "AttachmentReference2";
      case StructureType::eSubpassDescription2 : return "SubpassDescription2";
      case StructureType::eSubpassDependency2 : return "SubpassDependency2";
      case StructureType::eRenderPassCreateInfo2 : return "RenderPassCreateInfo2";
      case StructureType::eSubpassBeginInfo : return "SubpassBeginInfo";
      case StructureType::eSubpassEndInfo : return "SubpassEndInfo";
      case StructureType::ePhysicalDevice8BitStorageFeatures : return "PhysicalDevice8BitStorageFeatures";
      case StructureType::ePhysicalDeviceDriverProperties : return "PhysicalDeviceDriverProperties";
      case StructureType::ePhysicalDeviceShaderAtomicInt64Features : return "PhysicalDeviceShaderAtomicInt64Features";
      case StructureType::ePhysicalDeviceShaderFloat16Int8Features : return "PhysicalDeviceShaderFloat16Int8Features";
      case StructureType::ePhysicalDeviceFloatControlsProperties : return "PhysicalDeviceFloatControlsProperties";
      case StructureType::eDescriptorSetLayoutBindingFlagsCreateInfo : return "DescriptorSetLayoutBindingFlagsCreateInfo";
      case StructureType::ePhysicalDeviceDescriptorIndexingFeatures : return "PhysicalDeviceDescriptorIndexingFeatures";
      case StructureType::ePhysicalDeviceDescriptorIndexingProperties : return "PhysicalDeviceDescriptorIndexingProperties";
      case StructureType::eDescriptorSetVariableDescriptorCountAllocateInfo : return "DescriptorSetVariableDescriptorCountAllocateInfo";
      case StructureType::eDescriptorSetVariableDescriptorCountLayoutSupport : return "DescriptorSetVariableDescriptorCountLayoutSupport";
      case StructureType::ePhysicalDeviceDepthStencilResolveProperties : return "PhysicalDeviceDepthStencilResolveProperties";
      case StructureType::eSubpassDescriptionDepthStencilResolve : return "SubpassDescriptionDepthStencilResolve";
      case StructureType::ePhysicalDeviceScalarBlockLayoutFeatures : return "PhysicalDeviceScalarBlockLayoutFeatures";
      case StructureType::eImageStencilUsageCreateInfo : return "ImageStencilUsageCreateInfo";
      case StructureType::ePhysicalDeviceSamplerFilterMinmaxProperties : return "PhysicalDeviceSamplerFilterMinmaxProperties";
      case StructureType::eSamplerReductionModeCreateInfo : return "SamplerReductionModeCreateInfo";
      case StructureType::ePhysicalDeviceVulkanMemoryModelFeatures : return "PhysicalDeviceVulkanMemoryModelFeatures";
      case StructureType::ePhysicalDeviceImagelessFramebufferFeatures : return "PhysicalDeviceImagelessFramebufferFeatures";
      case StructureType::eFramebufferAttachmentsCreateInfo : return "FramebufferAttachmentsCreateInfo";
      case StructureType::eFramebufferAttachmentImageInfo : return "FramebufferAttachmentImageInfo";
      case StructureType::eRenderPassAttachmentBeginInfo : return "RenderPassAttachmentBeginInfo";
      case StructureType::ePhysicalDeviceUniformBufferStandardLayoutFeatures : return "PhysicalDeviceUniformBufferStandardLayoutFeatures";
      case StructureType::ePhysicalDeviceShaderSubgroupExtendedTypesFeatures : return "PhysicalDeviceShaderSubgroupExtendedTypesFeatures";
      case StructureType::ePhysicalDeviceSeparateDepthStencilLayoutsFeatures : return "PhysicalDeviceSeparateDepthStencilLayoutsFeatures";
      case StructureType::eAttachmentReferenceStencilLayout : return "AttachmentReferenceStencilLayout";
      case StructureType::eAttachmentDescriptionStencilLayout : return "AttachmentDescriptionStencilLayout";
      case StructureType::ePhysicalDeviceHostQueryResetFeatures : return "PhysicalDeviceHostQueryResetFeatures";
      case StructureType::ePhysicalDeviceTimelineSemaphoreFeatures : return "PhysicalDeviceTimelineSemaphoreFeatures";
      case StructureType::ePhysicalDeviceTimelineSemaphoreProperties : return "PhysicalDeviceTimelineSemaphoreProperties";
      case StructureType::eSemaphoreTypeCreateInfo : return "SemaphoreTypeCreateInfo";
      case StructureType::eTimelineSemaphoreSubmitInfo : return "TimelineSemaphoreSubmitInfo";
      case StructureType::eSemaphoreWaitInfo : return "SemaphoreWaitInfo";
      case StructureType::eSemaphoreSignalInfo : return "SemaphoreSignalInfo";
      case StructureType::ePhysicalDeviceBufferDeviceAddressFeatures : return "PhysicalDeviceBufferDeviceAddressFeatures";
      case StructureType::eBufferDeviceAddressInfo : return "BufferDeviceAddressInfo";
      case StructureType::eBufferOpaqueCaptureAddressCreateInfo : return "BufferOpaqueCaptureAddressCreateInfo";
      case StructureType::eMemoryOpaqueCaptureAddressAllocateInfo : return "MemoryOpaqueCaptureAddressAllocateInfo";
      case StructureType::eDeviceMemoryOpaqueCaptureAddressInfo : return "DeviceMemoryOpaqueCaptureAddressInfo";
      case StructureType::ePhysicalDeviceVulkan13Features : return "PhysicalDeviceVulkan13Features";
      case StructureType::ePhysicalDeviceVulkan13Properties : return "PhysicalDeviceVulkan13Properties";
      case StructureType::ePipelineCreationFeedbackCreateInfo : return "PipelineCreationFeedbackCreateInfo";
      case StructureType::ePhysicalDeviceShaderTerminateInvocationFeatures : return "PhysicalDeviceShaderTerminateInvocationFeatures";
      case StructureType::ePhysicalDeviceToolProperties : return "PhysicalDeviceToolProperties";
      case StructureType::ePhysicalDeviceShaderDemoteToHelperInvocationFeatures : return "PhysicalDeviceShaderDemoteToHelperInvocationFeatures";
      case StructureType::ePhysicalDevicePrivateDataFeatures : return "PhysicalDevicePrivateDataFeatures";
      case StructureType::eDevicePrivateDataCreateInfo : return "DevicePrivateDataCreateInfo";
      case StructureType::ePrivateDataSlotCreateInfo : return "PrivateDataSlotCreateInfo";
      case StructureType::ePhysicalDevicePipelineCreationCacheControlFeatures : return "PhysicalDevicePipelineCreationCacheControlFeatures";
      case StructureType::eMemoryBarrier2 : return "MemoryBarrier2";
      case StructureType::eBufferMemoryBarrier2 : return "BufferMemoryBarrier2";
      case StructureType::eImageMemoryBarrier2 : return "ImageMemoryBarrier2";
      case StructureType::eDependencyInfo : return "DependencyInfo";
      case StructureType::eSubmitInfo2 : return "SubmitInfo2";
      case StructureType::eSemaphoreSubmitInfo : return "SemaphoreSubmitInfo";
      case StructureType::eCommandBufferSubmitInfo : return "CommandBufferSubmitInfo";
      case StructureType::ePhysicalDeviceSynchronization2Features : return "PhysicalDeviceSynchronization2Features";
      case StructureType::ePhysicalDeviceZeroInitializeWorkgroupMemoryFeatures : return "PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures";
      case StructureType::ePhysicalDeviceImageRobustnessFeatures : return "PhysicalDeviceImageRobustnessFeatures";
      case StructureType::eCopyBufferInfo2 : return "CopyBufferInfo2";
      case StructureType::eCopyImageInfo2 : return "CopyImageInfo2";
      case StructureType::eCopyBufferToImageInfo2 : return "CopyBufferToImageInfo2";
      case StructureType::eCopyImageToBufferInfo2 : return "CopyImageToBufferInfo2";
      case StructureType::eBlitImageInfo2 : return "BlitImageInfo2";
      case StructureType::eResolveImageInfo2 : return "ResolveImageInfo2";
      case StructureType::eBufferCopy2 : return "BufferCopy2";
      case StructureType::eImageCopy2 : return "ImageCopy2";
      case StructureType::eImageBlit2 : return "ImageBlit2";
      case StructureType::eBufferImageCopy2 : return "BufferImageCopy2";
      case StructureType::eImageResolve2 : return "ImageResolve2";
      case StructureType::ePhysicalDeviceSubgroupSizeControlProperties : return "PhysicalDeviceSubgroupSizeControlProperties";
      case StructureType::ePipelineShaderStageRequiredSubgroupSizeCreateInfo : return "PipelineShaderStageRequiredSubgroupSizeCreateInfo";
      case StructureType::ePhysicalDeviceSubgroupSizeControlFeatures : return "PhysicalDeviceSubgroupSizeControlFeatures";
      case StructureType::ePhysicalDeviceInlineUniformBlockFeatures : return "PhysicalDeviceInlineUniformBlockFeatures";
      case StructureType::ePhysicalDeviceInlineUniformBlockProperties : return "PhysicalDeviceInlineUniformBlockProperties";
      case StructureType::eWriteDescriptorSetInlineUniformBlock : return "WriteDescriptorSetInlineUniformBlock";
      case StructureType::eDescriptorPoolInlineUniformBlockCreateInfo : return "DescriptorPoolInlineUniformBlockCreateInfo";
      case StructureType::ePhysicalDeviceTextureCompressionAstcHdrFeatures : return "PhysicalDeviceTextureCompressionAstcHdrFeatures";
      case StructureType::eRenderingInfo : return "RenderingInfo";
      case StructureType::eRenderingAttachmentInfo : return "RenderingAttachmentInfo";
      case StructureType::ePipelineRenderingCreateInfo : return "PipelineRenderingCreateInfo";
      case StructureType::ePhysicalDeviceDynamicRenderingFeatures : return "PhysicalDeviceDynamicRenderingFeatures";
      case StructureType::eCommandBufferInheritanceRenderingInfo : return "CommandBufferInheritanceRenderingInfo";
      case StructureType::ePhysicalDeviceShaderIntegerDotProductFeatures : return "PhysicalDeviceShaderIntegerDotProductFeatures";
      case StructureType::ePhysicalDeviceShaderIntegerDotProductProperties : return "PhysicalDeviceShaderIntegerDotProductProperties";
      case StructureType::ePhysicalDeviceTexelBufferAlignmentProperties : return "PhysicalDeviceTexelBufferAlignmentProperties";
      case StructureType::eFormatProperties3 : return "FormatProperties3";
      case StructureType::ePhysicalDeviceMaintenance4Features : return "PhysicalDeviceMaintenance4Features";
      case StructureType::ePhysicalDeviceMaintenance4Properties : return "PhysicalDeviceMaintenance4Properties";
      case StructureType::eDeviceBufferMemoryRequirements : return "DeviceBufferMemoryRequirements";
      case StructureType::eDeviceImageMemoryRequirements : return "DeviceImageMemoryRequirements";
      case StructureType::ePhysicalDeviceVulkan14Features : return "PhysicalDeviceVulkan14Features";
      case StructureType::ePhysicalDeviceVulkan14Properties : return "PhysicalDeviceVulkan14Properties";
      case StructureType::eDeviceQueueGlobalPriorityCreateInfo : return "DeviceQueueGlobalPriorityCreateInfo";
      case StructureType::ePhysicalDeviceGlobalPriorityQueryFeatures : return "PhysicalDeviceGlobalPriorityQueryFeatures";
      case StructureType::eQueueFamilyGlobalPriorityProperties : return "QueueFamilyGlobalPriorityProperties";
      case StructureType::ePhysicalDeviceShaderSubgroupRotateFeatures : return "PhysicalDeviceShaderSubgroupRotateFeatures";
      case StructureType::ePhysicalDeviceShaderFloatControls2Features : return "PhysicalDeviceShaderFloatControls2Features";
      case StructureType::ePhysicalDeviceShaderExpectAssumeFeatures : return "PhysicalDeviceShaderExpectAssumeFeatures";
      case StructureType::ePhysicalDeviceLineRasterizationFeatures : return "PhysicalDeviceLineRasterizationFeatures";
      case StructureType::ePipelineRasterizationLineStateCreateInfo : return "PipelineRasterizationLineStateCreateInfo";
      case StructureType::ePhysicalDeviceLineRasterizationProperties : return "PhysicalDeviceLineRasterizationProperties";
      case StructureType::ePhysicalDeviceVertexAttributeDivisorProperties : return "PhysicalDeviceVertexAttributeDivisorProperties";
      case StructureType::ePipelineVertexInputDivisorStateCreateInfo : return "PipelineVertexInputDivisorStateCreateInfo";
      case StructureType::ePhysicalDeviceVertexAttributeDivisorFeatures : return "PhysicalDeviceVertexAttributeDivisorFeatures";
      case StructureType::ePhysicalDeviceIndexTypeUint8Features : return "PhysicalDeviceIndexTypeUint8Features";
      case StructureType::eMemoryMapInfo : return "MemoryMapInfo";
      case StructureType::eMemoryUnmapInfo : return "MemoryUnmapInfo";
      case StructureType::ePhysicalDeviceMaintenance5Features : return "PhysicalDeviceMaintenance5Features";
      case StructureType::ePhysicalDeviceMaintenance5Properties : return "PhysicalDeviceMaintenance5Properties";
      case StructureType::eRenderingAreaInfo : return "RenderingAreaInfo";
      case StructureType::eDeviceImageSubresourceInfo : return "DeviceImageSubresourceInfo";
      case StructureType::eSubresourceLayout2 : return "SubresourceLayout2";
      case StructureType::eImageSubresource2 : return "ImageSubresource2";
      case StructureType::ePipelineCreateFlags2CreateInfo : return "PipelineCreateFlags2CreateInfo";
      case StructureType::eBufferUsageFlags2CreateInfo : return "BufferUsageFlags2CreateInfo";
      case StructureType::ePhysicalDevicePushDescriptorProperties : return "PhysicalDevicePushDescriptorProperties";
      case StructureType::ePhysicalDeviceDynamicRenderingLocalReadFeatures : return "PhysicalDeviceDynamicRenderingLocalReadFeatures";
      case StructureType::eRenderingAttachmentLocationInfo : return "RenderingAttachmentLocationInfo";
      case StructureType::eRenderingInputAttachmentIndexInfo : return "RenderingInputAttachmentIndexInfo";
      case StructureType::ePhysicalDeviceMaintenance6Features : return "PhysicalDeviceMaintenance6Features";
      case StructureType::ePhysicalDeviceMaintenance6Properties : return "PhysicalDeviceMaintenance6Properties";
      case StructureType::eBindMemoryStatus : return "BindMemoryStatus";
      case StructureType::eBindDescriptorSetsInfo : return "BindDescriptorSetsInfo";
      case StructureType::ePushConstantsInfo : return "PushConstantsInfo";
      case StructureType::ePushDescriptorSetInfo : return "PushDescriptorSetInfo";
      case StructureType::ePushDescriptorSetWithTemplateInfo : return "PushDescriptorSetWithTemplateInfo";
      case StructureType::ePhysicalDevicePipelineProtectedAccessFeatures : return "PhysicalDevicePipelineProtectedAccessFeatures";
      case StructureType::ePipelineRobustnessCreateInfo : return "PipelineRobustnessCreateInfo";
      case StructureType::ePhysicalDevicePipelineRobustnessFeatures : return "PhysicalDevicePipelineRobustnessFeatures";
      case StructureType::ePhysicalDevicePipelineRobustnessProperties : return "PhysicalDevicePipelineRobustnessProperties";
      case StructureType::ePhysicalDeviceHostImageCopyFeatures : return "PhysicalDeviceHostImageCopyFeatures";
      case StructureType::ePhysicalDeviceHostImageCopyProperties : return "PhysicalDeviceHostImageCopyProperties";
      case StructureType::eMemoryToImageCopy : return "MemoryToImageCopy";
      case StructureType::eImageToMemoryCopy : return "ImageToMemoryCopy";
      case StructureType::eCopyImageToMemoryInfo : return "CopyImageToMemoryInfo";
      case StructureType::eCopyMemoryToImageInfo : return "CopyMemoryToImageInfo";
      case StructureType::eHostImageLayoutTransitionInfo : return "HostImageLayoutTransitionInfo";
      case StructureType::eCopyImageToImageInfo : return "CopyImageToImageInfo";
      case StructureType::eSubresourceHostMemcpySize : return "SubresourceHostMemcpySize";
      case StructureType::eHostImageCopyDevicePerformanceQuery : return "HostImageCopyDevicePerformanceQuery";
      case StructureType::eSwapchainCreateInfoKHR : return "SwapchainCreateInfoKHR";
      case StructureType::ePresentInfoKHR : return "PresentInfoKHR";
      case StructureType::eDeviceGroupPresentCapabilitiesKHR : return "DeviceGroupPresentCapabilitiesKHR";
      case StructureType::eImageSwapchainCreateInfoKHR : return "ImageSwapchainCreateInfoKHR";
      case StructureType::eBindImageMemorySwapchainInfoKHR : return "BindImageMemorySwapchainInfoKHR";
      case StructureType::eAcquireNextImageInfoKHR : return "AcquireNextImageInfoKHR";
      case StructureType::eDeviceGroupPresentInfoKHR : return "DeviceGroupPresentInfoKHR";
      case StructureType::eDeviceGroupSwapchainCreateInfoKHR : return "DeviceGroupSwapchainCreateInfoKHR";
      case StructureType::eDisplayModeCreateInfoKHR : return "DisplayModeCreateInfoKHR";
      case StructureType::eDisplaySurfaceCreateInfoKHR : return "DisplaySurfaceCreateInfoKHR";
      case StructureType::eDisplayPresentInfoKHR : return "DisplayPresentInfoKHR";
#if defined( VK_USE_PLATFORM_XLIB_KHR )
      case StructureType::eXlibSurfaceCreateInfoKHR : return "XlibSurfaceCreateInfoKHR";
#endif /*VK_USE_PLATFORM_XLIB_KHR*/
#if defined( VK_USE_PLATFORM_XCB_KHR )
      case StructureType::eXcbSurfaceCreateInfoKHR : return "XcbSurfaceCreateInfoKHR";
#endif /*VK_USE_PLATFORM_XCB_KHR*/
#if defined( VK_USE_PLATFORM_WAYLAND_KHR )
      case StructureType::eWaylandSurfaceCreateInfoKHR : return "WaylandSurfaceCreateInfoKHR";
#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
#if defined( VK_USE_PLATFORM_ANDROID_KHR )
      case StructureType::eAndroidSurfaceCreateInfoKHR : return "AndroidSurfaceCreateInfoKHR";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
#if defined( VK_USE_PLATFORM_WIN32_KHR )
      case StructureType::eWin32SurfaceCreateInfoKHR : return "Win32SurfaceCreateInfoKHR";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
      case StructureType::eDebugReportCallbackCreateInfoEXT : return "DebugReportCallbackCreateInfoEXT";
      case StructureType::ePipelineRasterizationStateRasterizationOrderAMD : return "PipelineRasterizationStateRasterizationOrderAMD";
      case StructureType::eDebugMarkerObjectNameInfoEXT : return "DebugMarkerObjectNameInfoEXT";
      case StructureType::eDebugMarkerObjectTagInfoEXT : return "DebugMarkerObjectTagInfoEXT";
      case StructureType::eDebugMarkerMarkerInfoEXT : return "DebugMarkerMarkerInfoEXT";
      case StructureType::eVideoProfileInfoKHR : return "VideoProfileInfoKHR";
      case StructureType::eVideoCapabilitiesKHR : return "VideoCapabilitiesKHR";
      case StructureType::eVideoPictureResourceInfoKHR : return "VideoPictureResourceInfoKHR";
      case StructureType::eVideoSessionMemoryRequirementsKHR : return "VideoSessionMemoryRequirementsKHR";
      case StructureType::eBindVideoSessionMemoryInfoKHR : return "BindVideoSessionMemoryInfoKHR";
      case StructureType::eVideoSessionCreateInfoKHR : return "VideoSessionCreateInfoKHR";
      case StructureType::eVideoSessionParametersCreateInfoKHR : return "VideoSessionParametersCreateInfoKHR";
      case StructureType::eVideoSessionParametersUpdateInfoKHR : return "VideoSessionParametersUpdateInfoKHR";
      case StructureType::eVideoBeginCodingInfoKHR : return "VideoBeginCodingInfoKHR";
      case StructureType::eVideoEndCodingInfoKHR : return "VideoEndCodingInfoKHR";
      case StructureType::eVideoCodingControlInfoKHR : return "VideoCodingControlInfoKHR";
      case StructureType::eVideoReferenceSlotInfoKHR : return "VideoReferenceSlotInfoKHR";
      case StructureType::eQueueFamilyVideoPropertiesKHR : return "QueueFamilyVideoPropertiesKHR";
      case StructureType::eVideoProfileListInfoKHR : return "VideoProfileListInfoKHR";
      case StructureType::ePhysicalDeviceVideoFormatInfoKHR : return "PhysicalDeviceVideoFormatInfoKHR";
      case StructureType::eVideoFormatPropertiesKHR : return "VideoFormatPropertiesKHR";
      case StructureType::eQueueFamilyQueryResultStatusPropertiesKHR : return "QueueFamilyQueryResultStatusPropertiesKHR";
      case StructureType::eVideoDecodeInfoKHR : return "VideoDecodeInfoKHR";
      case StructureType::eVideoDecodeCapabilitiesKHR : return "VideoDecodeCapabilitiesKHR";
      case StructureType::eVideoDecodeUsageInfoKHR : return "VideoDecodeUsageInfoKHR";
      case StructureType::eDedicatedAllocationImageCreateInfoNV : return "DedicatedAllocationImageCreateInfoNV";
      case StructureType::eDedicatedAllocationBufferCreateInfoNV : return "DedicatedAllocationBufferCreateInfoNV";
      case StructureType::eDedicatedAllocationMemoryAllocateInfoNV : return "DedicatedAllocationMemoryAllocateInfoNV";
      case StructureType::ePhysicalDeviceTransformFeedbackFeaturesEXT : return "PhysicalDeviceTransformFeedbackFeaturesEXT";
      case StructureType::ePhysicalDeviceTransformFeedbackPropertiesEXT : return "PhysicalDeviceTransformFeedbackPropertiesEXT";
      case StructureType::ePipelineRasterizationStateStreamCreateInfoEXT : return "PipelineRasterizationStateStreamCreateInfoEXT";
      case StructureType::eCuModuleCreateInfoNVX : return "CuModuleCreateInfoNVX";
      case StructureType::eCuFunctionCreateInfoNVX : return "CuFunctionCreateInfoNVX";
      case StructureType::eCuLaunchInfoNVX : return "CuLaunchInfoNVX";
      case StructureType::eCuModuleTexturingModeCreateInfoNVX : return "CuModuleTexturingModeCreateInfoNVX";
      case StructureType::eImageViewHandleInfoNVX : return "ImageViewHandleInfoNVX";
      case StructureType::eImageViewAddressPropertiesNVX : return "ImageViewAddressPropertiesNVX";
      case StructureType::eVideoEncodeH264CapabilitiesKHR : return "VideoEncodeH264CapabilitiesKHR";
      case StructureType::eVideoEncodeH264SessionParametersCreateInfoKHR : return "VideoEncodeH264SessionParametersCreateInfoKHR";
      case StructureType::eVideoEncodeH264SessionParametersAddInfoKHR : return "VideoEncodeH264SessionParametersAddInfoKHR";
      case StructureType::eVideoEncodeH264PictureInfoKHR : return "VideoEncodeH264PictureInfoKHR";
      case StructureType::eVideoEncodeH264DpbSlotInfoKHR : return "VideoEncodeH264DpbSlotInfoKHR";
      case StructureType::eVideoEncodeH264NaluSliceInfoKHR : return "VideoEncodeH264NaluSliceInfoKHR";
      case StructureType::eVideoEncodeH264GopRemainingFrameInfoKHR : return "VideoEncodeH264GopRemainingFrameInfoKHR";
      case StructureType::eVideoEncodeH264ProfileInfoKHR : return "VideoEncodeH264ProfileInfoKHR";
      case StructureType::eVideoEncodeH264RateControlInfoKHR : return "VideoEncodeH264RateControlInfoKHR";
      case StructureType::eVideoEncodeH264RateControlLayerInfoKHR : return "VideoEncodeH264RateControlLayerInfoKHR";
      case StructureType::eVideoEncodeH264SessionCreateInfoKHR : return "VideoEncodeH264SessionCreateInfoKHR";
      case StructureType::eVideoEncodeH264QualityLevelPropertiesKHR : return "VideoEncodeH264QualityLevelPropertiesKHR";
      case StructureType::eVideoEncodeH264SessionParametersGetInfoKHR : return "VideoEncodeH264SessionParametersGetInfoKHR";
      case StructureType::eVideoEncodeH264SessionParametersFeedbackInfoKHR : return "VideoEncodeH264SessionParametersFeedbackInfoKHR";
      case StructureType::eVideoEncodeH265CapabilitiesKHR : return "VideoEncodeH265CapabilitiesKHR";
      case StructureType::eVideoEncodeH265SessionParametersCreateInfoKHR : return "VideoEncodeH265SessionParametersCreateInfoKHR";
      case StructureType::eVideoEncodeH265SessionParametersAddInfoKHR : return "VideoEncodeH265SessionParametersAddInfoKHR";
      case StructureType::eVideoEncodeH265PictureInfoKHR : return "VideoEncodeH265PictureInfoKHR";
      case StructureType::eVideoEncodeH265DpbSlotInfoKHR : return "VideoEncodeH265DpbSlotInfoKHR";
      case StructureType::eVideoEncodeH265NaluSliceSegmentInfoKHR : return "VideoEncodeH265NaluSliceSegmentInfoKHR";
      case StructureType::eVideoEncodeH265GopRemainingFrameInfoKHR : return "VideoEncodeH265GopRemainingFrameInfoKHR";
      case StructureType::eVideoEncodeH265ProfileInfoKHR : return "VideoEncodeH265ProfileInfoKHR";
      case StructureType::eVideoEncodeH265RateControlInfoKHR : return "VideoEncodeH265RateControlInfoKHR";
      case StructureType::eVideoEncodeH265RateControlLayerInfoKHR : return "VideoEncodeH265RateControlLayerInfoKHR";
      case StructureType::eVideoEncodeH265SessionCreateInfoKHR : return "VideoEncodeH265SessionCreateInfoKHR";
      case StructureType::eVideoEncodeH265QualityLevelPropertiesKHR : return "VideoEncodeH265QualityLevelPropertiesKHR";
      case StructureType::eVideoEncodeH265SessionParametersGetInfoKHR : return "VideoEncodeH265SessionParametersGetInfoKHR";
      case StructureType::eVideoEncodeH265SessionParametersFeedbackInfoKHR : return "VideoEncodeH265SessionParametersFeedbackInfoKHR";
      case StructureType::eVideoDecodeH264CapabilitiesKHR : return "VideoDecodeH264CapabilitiesKHR";
      case StructureType::eVideoDecodeH264PictureInfoKHR : return "VideoDecodeH264PictureInfoKHR";
      case StructureType::eVideoDecodeH264ProfileInfoKHR : return "VideoDecodeH264ProfileInfoKHR";
      case StructureType::eVideoDecodeH264SessionParametersCreateInfoKHR : return "VideoDecodeH264SessionParametersCreateInfoKHR";
      case StructureType::eVideoDecodeH264SessionParametersAddInfoKHR : return "VideoDecodeH264SessionParametersAddInfoKHR";
      case StructureType::eVideoDecodeH264DpbSlotInfoKHR : return "VideoDecodeH264DpbSlotInfoKHR";
      case StructureType::eTextureLodGatherFormatPropertiesAMD : return "TextureLodGatherFormatPropertiesAMD";
#if defined( VK_USE_PLATFORM_GGP )
      case StructureType::eStreamDescriptorSurfaceCreateInfoGGP : return "StreamDescriptorSurfaceCreateInfoGGP";
#endif /*VK_USE_PLATFORM_GGP*/
      case StructureType::ePhysicalDeviceCornerSampledImageFeaturesNV : return "PhysicalDeviceCornerSampledImageFeaturesNV";
      case StructureType::eExternalMemoryImageCreateInfoNV : return "ExternalMemoryImageCreateInfoNV";
      case StructureType::eExportMemoryAllocateInfoNV : return "ExportMemoryAllocateInfoNV";
#if defined( VK_USE_PLATFORM_WIN32_KHR )
      case StructureType::eImportMemoryWin32HandleInfoNV : return "ImportMemoryWin32HandleInfoNV";
      case StructureType::eExportMemoryWin32HandleInfoNV : return "ExportMemoryWin32HandleInfoNV";
      case StructureType::eWin32KeyedMutexAcquireReleaseInfoNV : return "Win32KeyedMutexAcquireReleaseInfoNV";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
      case StructureType::eValidationFlagsEXT : return "ValidationFlagsEXT";
#if defined( VK_USE_PLATFORM_VI_NN )
      case StructureType::eViSurfaceCreateInfoNN : return "ViSurfaceCreateInfoNN";
#endif /*VK_USE_PLATFORM_VI_NN*/
      case StructureType::eImageViewAstcDecodeModeEXT : return "ImageViewAstcDecodeModeEXT";
      case StructureType::ePhysicalDeviceAstcDecodeFeaturesEXT : return "PhysicalDeviceAstcDecodeFeaturesEXT";
#if defined( VK_USE_PLATFORM_WIN32_KHR )
      case StructureType::eImportMemoryWin32HandleInfoKHR : return "ImportMemoryWin32HandleInfoKHR";
      case StructureType::eExportMemoryWin32HandleInfoKHR : return "ExportMemoryWin32HandleInfoKHR";
      case StructureType::eMemoryWin32HandlePropertiesKHR : return "MemoryWin32HandlePropertiesKHR";
      case StructureType::eMemoryGetWin32HandleInfoKHR : return "MemoryGetWin32HandleInfoKHR";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
      case StructureType::eImportMemoryFdInfoKHR : return "ImportMemoryFdInfoKHR";
      case StructureType::eMemoryFdPropertiesKHR : return "MemoryFdPropertiesKHR";
      case StructureType::eMemoryGetFdInfoKHR : return "MemoryGetFdInfoKHR";
#if defined( VK_USE_PLATFORM_WIN32_KHR )
      case StructureType::eWin32KeyedMutexAcquireReleaseInfoKHR : return "Win32KeyedMutexAcquireReleaseInfoKHR";
      case StructureType::eImportSemaphoreWin32HandleInfoKHR : return "ImportSemaphoreWin32HandleInfoKHR";
      case StructureType::eExportSemaphoreWin32HandleInfoKHR : return "ExportSemaphoreWin32HandleInfoKHR";
      case StructureType::eD3D12FenceSubmitInfoKHR : return "D3D12FenceSubmitInfoKHR";
      case StructureType::eSemaphoreGetWin32HandleInfoKHR : return "SemaphoreGetWin32HandleInfoKHR";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
      case StructureType::eImportSemaphoreFdInfoKHR : return "ImportSemaphoreFdInfoKHR";
      case StructureType::eSemaphoreGetFdInfoKHR : return "SemaphoreGetFdInfoKHR";
      case StructureType::eCommandBufferInheritanceConditionalRenderingInfoEXT : return "CommandBufferInheritanceConditionalRenderingInfoEXT";
      case StructureType::ePhysicalDeviceConditionalRenderingFeaturesEXT : return "PhysicalDeviceConditionalRenderingFeaturesEXT";
      case StructureType::eConditionalRenderingBeginInfoEXT : return "ConditionalRenderingBeginInfoEXT";
      case StructureType::ePresentRegionsKHR : return "PresentRegionsKHR";
      case StructureType::ePipelineViewportWScalingStateCreateInfoNV : return "PipelineViewportWScalingStateCreateInfoNV";
      case StructureType::eSurfaceCapabilities2EXT : return "SurfaceCapabilities2EXT";
      case StructureType::eDisplayPowerInfoEXT : return "DisplayPowerInfoEXT";
      case StructureType::eDeviceEventInfoEXT : return "DeviceEventInfoEXT";
      case StructureType::eDisplayEventInfoEXT : return "DisplayEventInfoEXT";
      case StructureType::eSwapchainCounterCreateInfoEXT : return "SwapchainCounterCreateInfoEXT";
      case StructureType::ePresentTimesInfoGOOGLE : return "PresentTimesInfoGOOGLE";
      case StructureType::ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX : return "PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX";
      case StructureType::eMultiviewPerViewAttributesInfoNVX : return "MultiviewPerViewAttributesInfoNVX";
      case StructureType::ePipelineViewportSwizzleStateCreateInfoNV : return "PipelineViewportSwizzleStateCreateInfoNV";
      case StructureType::ePhysicalDeviceDiscardRectanglePropertiesEXT : return "PhysicalDeviceDiscardRectanglePropertiesEXT";
      case StructureType::ePipelineDiscardRectangleStateCreateInfoEXT : return "PipelineDiscardRectangleStateCreateInfoEXT";
      case StructureType::ePhysicalDeviceConservativeRasterizationPropertiesEXT : return "PhysicalDeviceConservativeRasterizationPropertiesEXT";
      case StructureType::ePipelineRasterizationConservativeStateCreateInfoEXT : return "PipelineRasterizationConservativeStateCreateInfoEXT";
      case StructureType::ePhysicalDeviceDepthClipEnableFeaturesEXT : return "PhysicalDeviceDepthClipEnableFeaturesEXT";
      case StructureType::ePipelineRasterizationDepthClipStateCreateInfoEXT : return "PipelineRasterizationDepthClipStateCreateInfoEXT";
      case StructureType::eHdrMetadataEXT : return "HdrMetadataEXT";
      case StructureType::ePhysicalDeviceRelaxedLineRasterizationFeaturesIMG : return "PhysicalDeviceRelaxedLineRasterizationFeaturesIMG";
      case StructureType::eSharedPresentSurfaceCapabilitiesKHR : return "SharedPresentSurfaceCapabilitiesKHR";
#if defined( VK_USE_PLATFORM_WIN32_KHR )
      case StructureType::eImportFenceWin32HandleInfoKHR : return "ImportFenceWin32HandleInfoKHR";
      case StructureType::eExportFenceWin32HandleInfoKHR : return "ExportFenceWin32HandleInfoKHR";
      case StructureType::eFenceGetWin32HandleInfoKHR : return "FenceGetWin32HandleInfoKHR";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
      case StructureType::eImportFenceFdInfoKHR : return "ImportFenceFdInfoKHR";
      case StructureType::eFenceGetFdInfoKHR : return "FenceGetFdInfoKHR";
      case StructureType::ePhysicalDevicePerformanceQueryFeaturesKHR : return "PhysicalDevicePerformanceQueryFeaturesKHR";
      case StructureType::ePhysicalDevicePerformanceQueryPropertiesKHR : return "PhysicalDevicePerformanceQueryPropertiesKHR";
      case StructureType::eQueryPoolPerformanceCreateInfoKHR : return "QueryPoolPerformanceCreateInfoKHR";
      case StructureType::ePerformanceQuerySubmitInfoKHR : return "PerformanceQuerySubmitInfoKHR";
      case StructureType::eAcquireProfilingLockInfoKHR : return "AcquireProfilingLockInfoKHR";
      case StructureType::ePerformanceCounterKHR : return "PerformanceCounterKHR";
      case StructureType::ePerformanceCounterDescriptionKHR : return "PerformanceCounterDescriptionKHR";
      case StructureType::ePhysicalDeviceSurfaceInfo2KHR : return "PhysicalDeviceSurfaceInfo2KHR";
      case StructureType::eSurfaceCapabilities2KHR : return "SurfaceCapabilities2KHR";
      case StructureType::eSurfaceFormat2KHR : return "SurfaceFormat2KHR";
      case StructureType::eDisplayProperties2KHR : return "DisplayProperties2KHR";
      case StructureType::eDisplayPlaneProperties2KHR : return "DisplayPlaneProperties2KHR";
      case StructureType::eDisplayModeProperties2KHR : return "DisplayModeProperties2KHR";
      case StructureType::eDisplayPlaneInfo2KHR : return "DisplayPlaneInfo2KHR";
      case StructureType::eDisplayPlaneCapabilities2KHR : return "DisplayPlaneCapabilities2KHR";
#if defined( VK_USE_PLATFORM_IOS_MVK )
      case StructureType::eIosSurfaceCreateInfoMVK : return "IosSurfaceCreateInfoMVK";
#endif /*VK_USE_PLATFORM_IOS_MVK*/
#if defined( VK_USE_PLATFORM_MACOS_MVK )
      case StructureType::eMacosSurfaceCreateInfoMVK : return "MacosSurfaceCreateInfoMVK";
#endif /*VK_USE_PLATFORM_MACOS_MVK*/
      case StructureType::eDebugUtilsObjectNameInfoEXT : return "DebugUtilsObjectNameInfoEXT";
      case StructureType::eDebugUtilsObjectTagInfoEXT : return "DebugUtilsObjectTagInfoEXT";
      case StructureType::eDebugUtilsLabelEXT : return "DebugUtilsLabelEXT";
      case StructureType::eDebugUtilsMessengerCallbackDataEXT : return "DebugUtilsMessengerCallbackDataEXT";
      case StructureType::eDebugUtilsMessengerCreateInfoEXT : return "DebugUtilsMessengerCreateInfoEXT";
#if defined( VK_USE_PLATFORM_ANDROID_KHR )
      case StructureType::eAndroidHardwareBufferUsageANDROID : return "AndroidHardwareBufferUsageANDROID";
      case StructureType::eAndroidHardwareBufferPropertiesANDROID : return "AndroidHardwareBufferPropertiesANDROID";
      case StructureType::eAndroidHardwareBufferFormatPropertiesANDROID : return "AndroidHardwareBufferFormatPropertiesANDROID";
      case StructureType::eImportAndroidHardwareBufferInfoANDROID : return "ImportAndroidHardwareBufferInfoANDROID";
      case StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID : return "MemoryGetAndroidHardwareBufferInfoANDROID";
      case StructureType::eExternalFormatANDROID : return "ExternalFormatANDROID";
      case StructureType::eAndroidHardwareBufferFormatProperties2ANDROID : return "AndroidHardwareBufferFormatProperties2ANDROID";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
#if defined( VK_ENABLE_BETA_EXTENSIONS )
      case StructureType::ePhysicalDeviceShaderEnqueueFeaturesAMDX : return "PhysicalDeviceShaderEnqueueFeaturesAMDX";
      case StructureType::ePhysicalDeviceShaderEnqueuePropertiesAMDX : return "PhysicalDeviceShaderEnqueuePropertiesAMDX";
      case StructureType::eExecutionGraphPipelineScratchSizeAMDX : return "ExecutionGraphPipelineScratchSizeAMDX";
      case StructureType::eExecutionGraphPipelineCreateInfoAMDX : return "ExecutionGraphPipelineCreateInfoAMDX";
      case StructureType::ePipelineShaderStageNodeCreateInfoAMDX : return "PipelineShaderStageNodeCreateInfoAMDX";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
      case StructureType::eAttachmentSampleCountInfoAMD : return "AttachmentSampleCountInfoAMD";
      case StructureType::ePhysicalDeviceShaderBfloat16FeaturesKHR : return "PhysicalDeviceShaderBfloat16FeaturesKHR";
      case StructureType::eSampleLocationsInfoEXT : return "SampleLocationsInfoEXT";
      case StructureType::eRenderPassSampleLocationsBeginInfoEXT : return "RenderPassSampleLocationsBeginInfoEXT";
      case StructureType::ePipelineSampleLocationsStateCreateInfoEXT : return "PipelineSampleLocationsStateCreateInfoEXT";
      case StructureType::ePhysicalDeviceSampleLocationsPropertiesEXT : return "PhysicalDeviceSampleLocationsPropertiesEXT";
      case StructureType::eMultisamplePropertiesEXT : return "MultisamplePropertiesEXT";
      case StructureType::ePhysicalDeviceBlendOperationAdvancedFeaturesEXT : return "PhysicalDeviceBlendOperationAdvancedFeaturesEXT";
      case StructureType::ePhysicalDeviceBlendOperationAdvancedPropertiesEXT : return "PhysicalDeviceBlendOperationAdvancedPropertiesEXT";
      case StructureType::ePipelineColorBlendAdvancedStateCreateInfoEXT : return "PipelineColorBlendAdvancedStateCreateInfoEXT";
      case StructureType::ePipelineCoverageToColorStateCreateInfoNV : return "PipelineCoverageToColorStateCreateInfoNV";
      case StructureType::eWriteDescriptorSetAccelerationStructureKHR : return "WriteDescriptorSetAccelerationStructureKHR";
      case StructureType::eAccelerationStructureBuildGeometryInfoKHR : return "AccelerationStructureBuildGeometryInfoKHR";
      case StructureType::eAccelerationStructureDeviceAddressInfoKHR : return "AccelerationStructureDeviceAddressInfoKHR";
      case StructureType::eAccelerationStructureGeometryAabbsDataKHR : return "AccelerationStructureGeometryAabbsDataKHR";
      case StructureType::eAccelerationStructureGeometryInstancesDataKHR : return "AccelerationStructureGeometryInstancesDataKHR";
      case StructureType::eAccelerationStructureGeometryTrianglesDataKHR : return "AccelerationStructureGeometryTrianglesDataKHR";
      case StructureType::eAccelerationStructureGeometryKHR : return "AccelerationStructureGeometryKHR";
      case StructureType::eAccelerationStructureVersionInfoKHR : return "AccelerationStructureVersionInfoKHR";
      case StructureType::eCopyAccelerationStructureInfoKHR : return "CopyAccelerationStructureInfoKHR";
      case StructureType::eCopyAccelerationStructureToMemoryInfoKHR : return "CopyAccelerationStructureToMemoryInfoKHR";
      case StructureType::eCopyMemoryToAccelerationStructureInfoKHR : return "CopyMemoryToAccelerationStructureInfoKHR";
      case StructureType::ePhysicalDeviceAccelerationStructureFeaturesKHR : return "PhysicalDeviceAccelerationStructureFeaturesKHR";
      case StructureType::ePhysicalDeviceAccelerationStructurePropertiesKHR : return "PhysicalDeviceAccelerationStructurePropertiesKHR";
      case StructureType::eAccelerationStructureCreateInfoKHR : return "AccelerationStructureCreateInfoKHR";
      case StructureType::eAccelerationStructureBuildSizesInfoKHR : return "AccelerationStructureBuildSizesInfoKHR";
      case StructureType::ePhysicalDeviceRayTracingPipelineFeaturesKHR : return "PhysicalDeviceRayTracingPipelineFeaturesKHR";
      case StructureType::ePhysicalDeviceRayTracingPipelinePropertiesKHR : return "PhysicalDeviceRayTracingPipelinePropertiesKHR";
      case StructureType::eRayTracingPipelineCreateInfoKHR : return "RayTracingPipelineCreateInfoKHR";
      case StructureType::eRayTracingShaderGroupCreateInfoKHR : return "RayTracingShaderGroupCreateInfoKHR";
      case StructureType::eRayTracingPipelineInterfaceCreateInfoKHR : return "RayTracingPipelineInterfaceCreateInfoKHR";
      case StructureType::ePhysicalDeviceRayQueryFeaturesKHR : return "PhysicalDeviceRayQueryFeaturesKHR";
      case StructureType::ePipelineCoverageModulationStateCreateInfoNV : return "PipelineCoverageModulationStateCreateInfoNV";
      case StructureType::ePhysicalDeviceShaderSmBuiltinsFeaturesNV : return "PhysicalDeviceShaderSmBuiltinsFeaturesNV";
      case StructureType::ePhysicalDeviceShaderSmBuiltinsPropertiesNV : return "PhysicalDeviceShaderSmBuiltinsPropertiesNV";
      case StructureType::eDrmFormatModifierPropertiesListEXT : return "DrmFormatModifierPropertiesListEXT";
      case StructureType::ePhysicalDeviceImageDrmFormatModifierInfoEXT : return "PhysicalDeviceImageDrmFormatModifierInfoEXT";
      case StructureType::eImageDrmFormatModifierListCreateInfoEXT : return "ImageDrmFormatModifierListCreateInfoEXT";
      case StructureType::eImageDrmFormatModifierExplicitCreateInfoEXT : return "ImageDrmFormatModifierExplicitCreateInfoEXT";
      case StructureType::eImageDrmFormatModifierPropertiesEXT : return "ImageDrmFormatModifierPropertiesEXT";
      case StructureType::eDrmFormatModifierPropertiesList2EXT : return "DrmFormatModifierPropertiesList2EXT";
      case StructureType::eValidationCacheCreateInfoEXT : return "ValidationCacheCreateInfoEXT";
      case StructureType::eShaderModuleValidationCacheCreateInfoEXT : return "ShaderModuleValidationCacheCreateInfoEXT";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
      case StructureType::ePhysicalDevicePortabilitySubsetFeaturesKHR : return "PhysicalDevicePortabilitySubsetFeaturesKHR";
      case StructureType::ePhysicalDevicePortabilitySubsetPropertiesKHR : return "PhysicalDevicePortabilitySubsetPropertiesKHR";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
      case StructureType::ePipelineViewportShadingRateImageStateCreateInfoNV : return "PipelineViewportShadingRateImageStateCreateInfoNV";
      case StructureType::ePhysicalDeviceShadingRateImageFeaturesNV : return "PhysicalDeviceShadingRateImageFeaturesNV";
      case StructureType::ePhysicalDeviceShadingRateImagePropertiesNV : return "PhysicalDeviceShadingRateImagePropertiesNV";
      case StructureType::ePipelineViewportCoarseSampleOrderStateCreateInfoNV : return "PipelineViewportCoarseSampleOrderStateCreateInfoNV";
      case StructureType::eRayTracingPipelineCreateInfoNV : return "RayTracingPipelineCreateInfoNV";
      case StructureType::eAccelerationStructureCreateInfoNV : return "AccelerationStructureCreateInfoNV";
      case StructureType::eGeometryNV : return "GeometryNV";
      case StructureType::eGeometryTrianglesNV : return "GeometryTrianglesNV";
      case StructureType::eGeometryAabbNV : return "GeometryAabbNV";
      case StructureType::eBindAccelerationStructureMemoryInfoNV : return "BindAccelerationStructureMemoryInfoNV";
      case StructureType::eWriteDescriptorSetAccelerationStructureNV : return "WriteDescriptorSetAccelerationStructureNV";
      case StructureType::eAccelerationStructureMemoryRequirementsInfoNV : return "AccelerationStructureMemoryRequirementsInfoNV";
      case StructureType::ePhysicalDeviceRayTracingPropertiesNV : return "PhysicalDeviceRayTracingPropertiesNV";
      case StructureType::eRayTracingShaderGroupCreateInfoNV : return "RayTracingShaderGroupCreateInfoNV";
      case StructureType::eAccelerationStructureInfoNV : return "AccelerationStructureInfoNV";
      case StructureType::ePhysicalDeviceRepresentativeFragmentTestFeaturesNV : return "PhysicalDeviceRepresentativeFragmentTestFeaturesNV";
      case StructureType::ePipelineRepresentativeFragmentTestStateCreateInfoNV : return "PipelineRepresentativeFragmentTestStateCreateInfoNV";
      case StructureType::ePhysicalDeviceImageViewImageFormatInfoEXT : return "PhysicalDeviceImageViewImageFormatInfoEXT";
      case StructureType::eFilterCubicImageViewImageFormatPropertiesEXT : return "FilterCubicImageViewImageFormatPropertiesEXT";
      case StructureType::eImportMemoryHostPointerInfoEXT : return "ImportMemoryHostPointerInfoEXT";
      case StructureType::eMemoryHostPointerPropertiesEXT : return "MemoryHostPointerPropertiesEXT";
      case StructureType::ePhysicalDeviceExternalMemoryHostPropertiesEXT : return "PhysicalDeviceExternalMemoryHostPropertiesEXT";
      case StructureType::ePhysicalDeviceShaderClockFeaturesKHR : return "PhysicalDeviceShaderClockFeaturesKHR";
      case StructureType::ePipelineCompilerControlCreateInfoAMD : return "PipelineCompilerControlCreateInfoAMD";
      case StructureType::ePhysicalDeviceShaderCorePropertiesAMD : return "PhysicalDeviceShaderCorePropertiesAMD";
      case StructureType::eVideoDecodeH265CapabilitiesKHR : return "VideoDecodeH265CapabilitiesKHR";
      case StructureType::eVideoDecodeH265SessionParametersCreateInfoKHR : return "VideoDecodeH265SessionParametersCreateInfoKHR";
      case StructureType::eVideoDecodeH265SessionParametersAddInfoKHR : return "VideoDecodeH265SessionParametersAddInfoKHR";
      case StructureType::eVideoDecodeH265ProfileInfoKHR : return "VideoDecodeH265ProfileInfoKHR";
      case StructureType::eVideoDecodeH265PictureInfoKHR : return "VideoDecodeH265PictureInfoKHR";
      case StructureType::eVideoDecodeH265DpbSlotInfoKHR : return "VideoDecodeH265DpbSlotInfoKHR";
      case StructureType::eDeviceMemoryOverallocationCreateInfoAMD : return "DeviceMemoryOverallocationCreateInfoAMD";
      case StructureType::ePhysicalDeviceVertexAttributeDivisorPropertiesEXT : return "PhysicalDeviceVertexAttributeDivisorPropertiesEXT";
#if defined( VK_USE_PLATFORM_GGP )
      case StructureType::ePresentFrameTokenGGP : return "PresentFrameTokenGGP";
#endif /*VK_USE_PLATFORM_GGP*/
      case StructureType::ePhysicalDeviceMeshShaderFeaturesNV : return "PhysicalDeviceMeshShaderFeaturesNV";
      case StructureType::ePhysicalDeviceMeshShaderPropertiesNV : return "PhysicalDeviceMeshShaderPropertiesNV";
      case StructureType::ePhysicalDeviceShaderImageFootprintFeaturesNV : return "PhysicalDeviceShaderImageFootprintFeaturesNV";
      case StructureType::ePipelineViewportExclusiveScissorStateCreateInfoNV : return "PipelineViewportExclusiveScissorStateCreateInfoNV";
      case StructureType::ePhysicalDeviceExclusiveScissorFeaturesNV : return "PhysicalDeviceExclusiveScissorFeaturesNV";
      case StructureType::eCheckpointDataNV : return "CheckpointDataNV";
      case StructureType::eQueueFamilyCheckpointPropertiesNV : return "QueueFamilyCheckpointPropertiesNV";
      case StructureType::eQueueFamilyCheckpointProperties2NV : return "QueueFamilyCheckpointProperties2NV";
      case StructureType::eCheckpointData2NV : return "CheckpointData2NV";
      case StructureType::ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL : return "PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL";
      case StructureType::eQueryPoolPerformanceQueryCreateInfoINTEL : return "QueryPoolPerformanceQueryCreateInfoINTEL";
      case StructureType::eInitializePerformanceApiInfoINTEL : return "InitializePerformanceApiInfoINTEL";
      case StructureType::ePerformanceMarkerInfoINTEL : return "PerformanceMarkerInfoINTEL";
      case StructureType::ePerformanceStreamMarkerInfoINTEL : return "PerformanceStreamMarkerInfoINTEL";
      case StructureType::ePerformanceOverrideInfoINTEL : return "PerformanceOverrideInfoINTEL";
      case StructureType::ePerformanceConfigurationAcquireInfoINTEL : return "PerformanceConfigurationAcquireInfoINTEL";
      case StructureType::ePhysicalDevicePciBusInfoPropertiesEXT : return "PhysicalDevicePciBusInfoPropertiesEXT";
      case StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD : return "DisplayNativeHdrSurfaceCapabilitiesAMD";
      case StructureType::eSwapchainDisplayNativeHdrCreateInfoAMD : return "SwapchainDisplayNativeHdrCreateInfoAMD";
#if defined( VK_USE_PLATFORM_FUCHSIA )
      case StructureType::eImagepipeSurfaceCreateInfoFUCHSIA : return "ImagepipeSurfaceCreateInfoFUCHSIA";
#endif /*VK_USE_PLATFORM_FUCHSIA*/
#if defined( VK_USE_PLATFORM_METAL_EXT )
      case StructureType::eMetalSurfaceCreateInfoEXT : return "MetalSurfaceCreateInfoEXT";
#endif /*VK_USE_PLATFORM_METAL_EXT*/
      case StructureType::ePhysicalDeviceFragmentDensityMapFeaturesEXT : return "PhysicalDeviceFragmentDensityMapFeaturesEXT";
      case StructureType::ePhysicalDeviceFragmentDensityMapPropertiesEXT : return "PhysicalDeviceFragmentDensityMapPropertiesEXT";
      case StructureType::eRenderPassFragmentDensityMapCreateInfoEXT : return "RenderPassFragmentDensityMapCreateInfoEXT";
      case StructureType::eRenderingFragmentDensityMapAttachmentInfoEXT : return "RenderingFragmentDensityMapAttachmentInfoEXT";
      case StructureType::eFragmentShadingRateAttachmentInfoKHR : return "FragmentShadingRateAttachmentInfoKHR";
      case StructureType::ePipelineFragmentShadingRateStateCreateInfoKHR : return "PipelineFragmentShadingRateStateCreateInfoKHR";
      case StructureType::ePhysicalDeviceFragmentShadingRatePropertiesKHR : return "PhysicalDeviceFragmentShadingRatePropertiesKHR";
      case StructureType::ePhysicalDeviceFragmentShadingRateFeaturesKHR : return "PhysicalDeviceFragmentShadingRateFeaturesKHR";
      case StructureType::ePhysicalDeviceFragmentShadingRateKHR : return "PhysicalDeviceFragmentShadingRateKHR";
      case StructureType::eRenderingFragmentShadingRateAttachmentInfoKHR : return "RenderingFragmentShadingRateAttachmentInfoKHR";
      case StructureType::ePhysicalDeviceShaderCoreProperties2AMD : return "PhysicalDeviceShaderCoreProperties2AMD";
      case StructureType::ePhysicalDeviceCoherentMemoryFeaturesAMD : return "PhysicalDeviceCoherentMemoryFeaturesAMD";
      case StructureType::ePhysicalDeviceShaderImageAtomicInt64FeaturesEXT : return "PhysicalDeviceShaderImageAtomicInt64FeaturesEXT";
      case StructureType::ePhysicalDeviceShaderQuadControlFeaturesKHR : return "PhysicalDeviceShaderQuadControlFeaturesKHR";
      case StructureType::ePhysicalDeviceMemoryBudgetPropertiesEXT : return "PhysicalDeviceMemoryBudgetPropertiesEXT";
      case StructureType::ePhysicalDeviceMemoryPriorityFeaturesEXT : return "PhysicalDeviceMemoryPriorityFeaturesEXT";
      case StructureType::eMemoryPriorityAllocateInfoEXT : return "MemoryPriorityAllocateInfoEXT";
      case StructureType::eSurfaceProtectedCapabilitiesKHR : return "SurfaceProtectedCapabilitiesKHR";
      case StructureType::ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV : return "PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV";
      case StructureType::ePhysicalDeviceBufferDeviceAddressFeaturesEXT : return "PhysicalDeviceBufferDeviceAddressFeaturesEXT";
      case StructureType::eBufferDeviceAddressCreateInfoEXT : return "BufferDeviceAddressCreateInfoEXT";
      case StructureType::eValidationFeaturesEXT : return "ValidationFeaturesEXT";
      case StructureType::ePhysicalDevicePresentWaitFeaturesKHR : return "PhysicalDevicePresentWaitFeaturesKHR";
      case StructureType::ePhysicalDeviceCooperativeMatrixFeaturesNV : return "PhysicalDeviceCooperativeMatrixFeaturesNV";
      case StructureType::eCooperativeMatrixPropertiesNV : return "CooperativeMatrixPropertiesNV";
      case StructureType::ePhysicalDeviceCooperativeMatrixPropertiesNV : return "PhysicalDeviceCooperativeMatrixPropertiesNV";
      case StructureType::ePhysicalDeviceCoverageReductionModeFeaturesNV : return "PhysicalDeviceCoverageReductionModeFeaturesNV";
      case StructureType::ePipelineCoverageReductionStateCreateInfoNV : return "PipelineCoverageReductionStateCreateInfoNV";
      case StructureType::eFramebufferMixedSamplesCombinationNV : return "FramebufferMixedSamplesCombinationNV";
      case StructureType::ePhysicalDeviceFragmentShaderInterlockFeaturesEXT : return "PhysicalDeviceFragmentShaderInterlockFeaturesEXT";
      case StructureType::ePhysicalDeviceYcbcrImageArraysFeaturesEXT : return "PhysicalDeviceYcbcrImageArraysFeaturesEXT";
      case StructureType::ePhysicalDeviceProvokingVertexFeaturesEXT : return "PhysicalDeviceProvokingVertexFeaturesEXT";
      case StructureType::ePipelineRasterizationProvokingVertexStateCreateInfoEXT : return "PipelineRasterizationProvokingVertexStateCreateInfoEXT";
      case StructureType::ePhysicalDeviceProvokingVertexPropertiesEXT : return "PhysicalDeviceProvokingVertexPropertiesEXT";
#if defined( VK_USE_PLATFORM_WIN32_KHR )
      case StructureType::eSurfaceFullScreenExclusiveInfoEXT : return "SurfaceFullScreenExclusiveInfoEXT";
      case StructureType::eSurfaceCapabilitiesFullScreenExclusiveEXT : return "SurfaceCapabilitiesFullScreenExclusiveEXT";
      case StructureType::eSurfaceFullScreenExclusiveWin32InfoEXT : return "SurfaceFullScreenExclusiveWin32InfoEXT";
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
      case StructureType::eHeadlessSurfaceCreateInfoEXT : return "HeadlessSurfaceCreateInfoEXT";
      case StructureType::ePhysicalDeviceShaderAtomicFloatFeaturesEXT : return "PhysicalDeviceShaderAtomicFloatFeaturesEXT";
      case StructureType::ePhysicalDeviceExtendedDynamicStateFeaturesEXT : return "PhysicalDeviceExtendedDynamicStateFeaturesEXT";
      case StructureType::ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR : return "PhysicalDevicePipelineExecutablePropertiesFeaturesKHR";
      case StructureType::ePipelineInfoKHR : return "PipelineInfoKHR";
      case StructureType::ePipelineExecutablePropertiesKHR : return "PipelineExecutablePropertiesKHR";
      case StructureType::ePipelineExecutableInfoKHR : return "PipelineExecutableInfoKHR";
      case StructureType::ePipelineExecutableStatisticKHR : return "PipelineExecutableStatisticKHR";
      case StructureType::ePipelineExecutableInternalRepresentationKHR : return "PipelineExecutableInternalRepresentationKHR";
      case StructureType::ePhysicalDeviceMapMemoryPlacedFeaturesEXT : return "PhysicalDeviceMapMemoryPlacedFeaturesEXT";
      case StructureType::ePhysicalDeviceMapMemoryPlacedPropertiesEXT : return "PhysicalDeviceMapMemoryPlacedPropertiesEXT";
      case StructureType::eMemoryMapPlacedInfoEXT : return "MemoryMapPlacedInfoEXT";
      case StructureType::ePhysicalDeviceShaderAtomicFloat2FeaturesEXT : return "PhysicalDeviceShaderAtomicFloat2FeaturesEXT";
      case StructureType::eSurfacePresentModeEXT : return "SurfacePresentModeEXT";
      case StructureType::eSurfacePresentScalingCapabilitiesEXT : return "SurfacePresentScalingCapabilitiesEXT";
      case StructureType::eSurfacePresentModeCompatibilityEXT : return "SurfacePresentModeCompatibilityEXT";
      case StructureType::ePhysicalDeviceSwapchainMaintenance1FeaturesEXT : return "PhysicalDeviceSwapchainMaintenance1FeaturesEXT";
      case StructureType::eSwapchainPresentFenceInfoEXT : return "SwapchainPresentFenceInfoEXT";
      case StructureType::eSwapchainPresentModesCreateInfoEXT : return "SwapchainPresentModesCreateInfoEXT";
      case StructureType::eSwapchainPresentModeInfoEXT : return "SwapchainPresentModeInfoEXT";
      case StructureType::eSwapchainPresentScalingCreateInfoEXT : return "SwapchainPresentScalingCreateInfoEXT";
      case StructureType::eReleaseSwapchainImagesInfoEXT : return "ReleaseSwapchainImagesInfoEXT";
      case StructureType::ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV : return "PhysicalDeviceDeviceGeneratedCommandsPropertiesNV";
      case StructureType::eGraphicsShaderGroupCreateInfoNV : return "GraphicsShaderGroupCreateInfoNV";
      case StructureType::eGraphicsPipelineShaderGroupsCreateInfoNV : return "GraphicsPipelineShaderGroupsCreateInfoNV";
      case StructureType::eIndirectCommandsLayoutTokenNV : return "IndirectCommandsLayoutTokenNV";
      case StructureType::eIndirectCommandsLayoutCreateInfoNV : return "IndirectCommandsLayoutCreateInfoNV";
      case StructureType::eGeneratedCommandsInfoNV : return "GeneratedCommandsInfoNV";
      case StructureType::eGeneratedCommandsMemoryRequirementsInfoNV : return "GeneratedCommandsMemoryRequirementsInfoNV";
      case StructureType::ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV : return "PhysicalDeviceDeviceGeneratedCommandsFeaturesNV";
      case StructureType::ePhysicalDeviceInheritedViewportScissorFeaturesNV : return "PhysicalDeviceInheritedViewportScissorFeaturesNV";
      case StructureType::eCommandBufferInheritanceViewportScissorInfoNV : return "CommandBufferInheritanceViewportScissorInfoNV";
      case StructureType::ePhysicalDeviceTexelBufferAlignmentFeaturesEXT : return "PhysicalDeviceTexelBufferAlignmentFeaturesEXT";
      case StructureType::eCommandBufferInheritanceRenderPassTransformInfoQCOM : return "CommandBufferInheritanceRenderPassTransformInfoQCOM";
      case StructureType::eRenderPassTransformBeginInfoQCOM : return "RenderPassTransformBeginInfoQCOM";
      case StructureType::ePhysicalDeviceDepthBiasControlFeaturesEXT : return "PhysicalDeviceDepthBiasControlFeaturesEXT";
      case StructureType::eDepthBiasInfoEXT : return "DepthBiasInfoEXT";
      case StructureType::eDepthBiasRepresentationInfoEXT : return "DepthBiasRepresentationInfoEXT";
      case StructureType::ePhysicalDeviceDeviceMemoryReportFeaturesEXT : return "PhysicalDeviceDeviceMemoryReportFeaturesEXT";
      case StructureType::eDeviceDeviceMemoryReportCreateInfoEXT : return "DeviceDeviceMemoryReportCreateInfoEXT";
      case StructureType::eDeviceMemoryReportCallbackDataEXT : return "DeviceMemoryReportCallbackDataEXT";
      case StructureType::eSamplerCustomBorderColorCreateInfoEXT : return "SamplerCustomBorderColorCreateInfoEXT";
      case StructureType::ePhysicalDeviceCustomBorderColorPropertiesEXT : return "PhysicalDeviceCustomBorderColorPropertiesEXT";
      case StructureType::ePhysicalDeviceCustomBorderColorFeaturesEXT : return "PhysicalDeviceCustomBorderColorFeaturesEXT";
      case StructureType::ePipelineLibraryCreateInfoKHR : return "PipelineLibraryCreateInfoKHR";
      case StructureType::ePhysicalDevicePresentBarrierFeaturesNV : return "PhysicalDevicePresentBarrierFeaturesNV";
      case StructureType::eSurfaceCapabilitiesPresentBarrierNV : return "SurfaceCapabilitiesPresentBarrierNV";
      case StructureType::eSwapchainPresentBarrierCreateInfoNV : return "SwapchainPresentBarrierCreateInfoNV";
      case StructureType::ePresentIdKHR : return "PresentIdKHR";
      case StructureType::ePhysicalDevicePresentIdFeaturesKHR : return "PhysicalDevicePresentIdFeaturesKHR";
      case StructureType::eVideoEncodeInfoKHR : return "VideoEncodeInfoKHR";
      case StructureType::eVideoEncodeRateControlInfoKHR : return "VideoEncodeRateControlInfoKHR";
      case StructureType::eVideoEncodeRateControlLayerInfoKHR : return "VideoEncodeRateControlLayerInfoKHR";
      case StructureType::eVideoEncodeCapabilitiesKHR : return "VideoEncodeCapabilitiesKHR";
      case StructureType::eVideoEncodeUsageInfoKHR : return "VideoEncodeUsageInfoKHR";
      case StructureType::eQueryPoolVideoEncodeFeedbackCreateInfoKHR : return "QueryPoolVideoEncodeFeedbackCreateInfoKHR";
      case StructureType::ePhysicalDeviceVideoEncodeQualityLevelInfoKHR : return "PhysicalDeviceVideoEncodeQualityLevelInfoKHR";
      case StructureType::eVideoEncodeQualityLevelPropertiesKHR : return "VideoEncodeQualityLevelPropertiesKHR";
      case StructureType::eVideoEncodeQualityLevelInfoKHR : return "VideoEncodeQualityLevelInfoKHR";
      case StructureType::eVideoEncodeSessionParametersGetInfoKHR : return "VideoEncodeSessionParametersGetInfoKHR";
      case StructureType::eVideoEncodeSessionParametersFeedbackInfoKHR : return "VideoEncodeSessionParametersFeedbackInfoKHR";
      case StructureType::ePhysicalDeviceDiagnosticsConfigFeaturesNV : return "PhysicalDeviceDiagnosticsConfigFeaturesNV";
      case StructureType::eDeviceDiagnosticsConfigCreateInfoNV : return "DeviceDiagnosticsConfigCreateInfoNV";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
      case StructureType::eCudaModuleCreateInfoNV : return "CudaModuleCreateInfoNV";
      case StructureType::eCudaFunctionCreateInfoNV : return "CudaFunctionCreateInfoNV";
      case StructureType::eCudaLaunchInfoNV : return "CudaLaunchInfoNV";
      case StructureType::ePhysicalDeviceCudaKernelLaunchFeaturesNV : return "PhysicalDeviceCudaKernelLaunchFeaturesNV";
      case StructureType::ePhysicalDeviceCudaKernelLaunchPropertiesNV : return "PhysicalDeviceCudaKernelLaunchPropertiesNV";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
      case StructureType::ePhysicalDeviceTileShadingFeaturesQCOM : return "PhysicalDeviceTileShadingFeaturesQCOM";
      case StructureType::ePhysicalDeviceTileShadingPropertiesQCOM : return "PhysicalDeviceTileShadingPropertiesQCOM";
      case StructureType::eRenderPassTileShadingCreateInfoQCOM : return "RenderPassTileShadingCreateInfoQCOM";
      case StructureType::ePerTileBeginInfoQCOM : return "PerTileBeginInfoQCOM";
      case StructureType::ePerTileEndInfoQCOM : return "PerTileEndInfoQCOM";
      case StructureType::eDispatchTileInfoQCOM : return "DispatchTileInfoQCOM";
      case StructureType::eQueryLowLatencySupportNV : return "QueryLowLatencySupportNV";
#if defined( VK_USE_PLATFORM_METAL_EXT )
      case StructureType::eExportMetalObjectCreateInfoEXT : return "ExportMetalObjectCreateInfoEXT";
      case StructureType::eExportMetalObjectsInfoEXT : return "ExportMetalObjectsInfoEXT";
      case StructureType::eExportMetalDeviceInfoEXT : return "ExportMetalDeviceInfoEXT";
      case StructureType::eExportMetalCommandQueueInfoEXT : return "ExportMetalCommandQueueInfoEXT";
      case StructureType::eExportMetalBufferInfoEXT : return "ExportMetalBufferInfoEXT";
      case StructureType::eImportMetalBufferInfoEXT : return "ImportMetalBufferInfoEXT";
      case StructureType::eExportMetalTextureInfoEXT : return "ExportMetalTextureInfoEXT";
      case StructureType::eImportMetalTextureInfoEXT : return "ImportMetalTextureInfoEXT";
      case StructureType::eExportMetalIoSurfaceInfoEXT : return "ExportMetalIoSurfaceInfoEXT";
      case StructureType::eImportMetalIoSurfaceInfoEXT : return "ImportMetalIoSurfaceInfoEXT";
      case StructureType::eExportMetalSharedEventInfoEXT : return "ExportMetalSharedEventInfoEXT";
      case StructureType::eImportMetalSharedEventInfoEXT : return "ImportMetalSharedEventInfoEXT";
#endif /*VK_USE_PLATFORM_METAL_EXT*/
      case StructureType::ePhysicalDeviceDescriptorBufferPropertiesEXT : return "PhysicalDeviceDescriptorBufferPropertiesEXT";
      case StructureType::ePhysicalDeviceDescriptorBufferDensityMapPropertiesEXT : return "PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT";
      case StructureType::ePhysicalDeviceDescriptorBufferFeaturesEXT : return "PhysicalDeviceDescriptorBufferFeaturesEXT";
      case StructureType::eDescriptorAddressInfoEXT : return "DescriptorAddressInfoEXT";
      case StructureType::eDescriptorGetInfoEXT : return "DescriptorGetInfoEXT";
      case StructureType::eBufferCaptureDescriptorDataInfoEXT : return "BufferCaptureDescriptorDataInfoEXT";
      case StructureType::eImageCaptureDescriptorDataInfoEXT : return "ImageCaptureDescriptorDataInfoEXT";
      case StructureType::eImageViewCaptureDescriptorDataInfoEXT : return "ImageViewCaptureDescriptorDataInfoEXT";
      case StructureType::eSamplerCaptureDescriptorDataInfoEXT : return "SamplerCaptureDescriptorDataInfoEXT";
      case StructureType::eOpaqueCaptureDescriptorDataCreateInfoEXT : return "OpaqueCaptureDescriptorDataCreateInfoEXT";
      case StructureType::eDescriptorBufferBindingInfoEXT : return "DescriptorBufferBindingInfoEXT";
      case StructureType::eDescriptorBufferBindingPushDescriptorBufferHandleEXT : return "DescriptorBufferBindingPushDescriptorBufferHandleEXT";
      case StructureType::eAccelerationStructureCaptureDescriptorDataInfoEXT : return "AccelerationStructureCaptureDescriptorDataInfoEXT";
      case StructureType::ePhysicalDeviceGraphicsPipelineLibraryFeaturesEXT : return "PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT";
      case StructureType::ePhysicalDeviceGraphicsPipelineLibraryPropertiesEXT : return "PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT";
      case StructureType::eGraphicsPipelineLibraryCreateInfoEXT : return "GraphicsPipelineLibraryCreateInfoEXT";
      case StructureType::ePhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD : return "PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD";
      case StructureType::ePhysicalDeviceFragmentShaderBarycentricFeaturesKHR : return "PhysicalDeviceFragmentShaderBarycentricFeaturesKHR";
      case StructureType::ePhysicalDeviceFragmentShaderBarycentricPropertiesKHR : return "PhysicalDeviceFragmentShaderBarycentricPropertiesKHR";
      case StructureType::ePhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR : return "PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR";
      case StructureType::ePhysicalDeviceFragmentShadingRateEnumsPropertiesNV : return "PhysicalDeviceFragmentShadingRateEnumsPropertiesNV";
      case StructureType::ePhysicalDeviceFragmentShadingRateEnumsFeaturesNV : return "PhysicalDeviceFragmentShadingRateEnumsFeaturesNV";
      case StructureType::ePipelineFragmentShadingRateEnumStateCreateInfoNV : return "PipelineFragmentShadingRateEnumStateCreateInfoNV";
      case StructureType::eAccelerationStructureGeometryMotionTrianglesDataNV : return "AccelerationStructureGeometryMotionTrianglesDataNV";
      case StructureType::ePhysicalDeviceRayTracingMotionBlurFeaturesNV : return "PhysicalDeviceRayTracingMotionBlurFeaturesNV";
      case StructureType::eAccelerationStructureMotionInfoNV : return "AccelerationStructureMotionInfoNV";
      case StructureType::ePhysicalDeviceMeshShaderFeaturesEXT : return "PhysicalDeviceMeshShaderFeaturesEXT";
      case StructureType::ePhysicalDeviceMeshShaderPropertiesEXT : return "PhysicalDeviceMeshShaderPropertiesEXT";
      case StructureType::ePhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT : return "PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT";
      case StructureType::ePhysicalDeviceFragmentDensityMap2FeaturesEXT : return "PhysicalDeviceFragmentDensityMap2FeaturesEXT";
      case StructureType::ePhysicalDeviceFragmentDensityMap2PropertiesEXT : return "PhysicalDeviceFragmentDensityMap2PropertiesEXT";
      case StructureType::eCopyCommandTransformInfoQCOM : return "CopyCommandTransformInfoQCOM";
      case StructureType::ePhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR : return "PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR";
      case StructureType::ePhysicalDeviceImageCompressionControlFeaturesEXT : return "PhysicalDeviceImageCompressionControlFeaturesEXT";
      case StructureType::eImageCompressionControlEXT : return "ImageCompressionControlEXT";
      case StructureType::eImageCompressionPropertiesEXT : return "ImageCompressionPropertiesEXT";
      case StructureType::ePhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT : return "PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT";
      case StructureType::ePhysicalDevice4444FormatsFeaturesEXT : return "PhysicalDevice4444FormatsFeaturesEXT";
      case StructureType::ePhysicalDeviceFaultFeaturesEXT : return "PhysicalDeviceFaultFeaturesEXT";
      case StructureType::eDeviceFaultCountsEXT : return "DeviceFaultCountsEXT";
      case StructureType::eDeviceFaultInfoEXT : return "DeviceFaultInfoEXT";
      case StructureType::ePhysicalDeviceRgba10X6FormatsFeaturesEXT : return "PhysicalDeviceRgba10X6FormatsFeaturesEXT";
#if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
      case StructureType::eDirectfbSurfaceCreateInfoEXT : return "DirectfbSurfaceCreateInfoEXT";
#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
      case StructureType::ePhysicalDeviceVertexInputDynamicStateFeaturesEXT : return "PhysicalDeviceVertexInputDynamicStateFeaturesEXT";
      case StructureType::eVertexInputBindingDescription2EXT : return "VertexInputBindingDescription2EXT";
      case StructureType::eVertexInputAttributeDescription2EXT : return "VertexInputAttributeDescription2EXT";
      case StructureType::ePhysicalDeviceDrmPropertiesEXT : return "PhysicalDeviceDrmPropertiesEXT";
      case StructureType::ePhysicalDeviceAddressBindingReportFeaturesEXT : return "PhysicalDeviceAddressBindingReportFeaturesEXT";
      case StructureType::eDeviceAddressBindingCallbackDataEXT : return "DeviceAddressBindingCallbackDataEXT";
      case StructureType::ePhysicalDeviceDepthClipControlFeaturesEXT : return "PhysicalDeviceDepthClipControlFeaturesEXT";
      case StructureType::ePipelineViewportDepthClipControlCreateInfoEXT : return "PipelineViewportDepthClipControlCreateInfoEXT";
      case StructureType::ePhysicalDevicePrimitiveTopologyListRestartFeaturesEXT : return "PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT";
      case StructureType::ePhysicalDevicePresentModeFifoLatestReadyFeaturesEXT : return "PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT";
#if defined( VK_USE_PLATFORM_FUCHSIA )
      case StructureType::eImportMemoryZirconHandleInfoFUCHSIA : return "ImportMemoryZirconHandleInfoFUCHSIA";
      case StructureType::eMemoryZirconHandlePropertiesFUCHSIA : return "MemoryZirconHandlePropertiesFUCHSIA";
      case StructureType::eMemoryGetZirconHandleInfoFUCHSIA : return "MemoryGetZirconHandleInfoFUCHSIA";
      case StructureType::eImportSemaphoreZirconHandleInfoFUCHSIA : return "ImportSemaphoreZirconHandleInfoFUCHSIA";
      case StructureType::eSemaphoreGetZirconHandleInfoFUCHSIA : return "SemaphoreGetZirconHandleInfoFUCHSIA";
      case StructureType::eBufferCollectionCreateInfoFUCHSIA : return "BufferCollectionCreateInfoFUCHSIA";
      case StructureType::eImportMemoryBufferCollectionFUCHSIA : return "ImportMemoryBufferCollectionFUCHSIA";
      case StructureType::eBufferCollectionImageCreateInfoFUCHSIA : return "BufferCollectionImageCreateInfoFUCHSIA";
      case StructureType::eBufferCollectionPropertiesFUCHSIA : return "BufferCollectionPropertiesFUCHSIA";
      case StructureType::eBufferConstraintsInfoFUCHSIA : return "BufferConstraintsInfoFUCHSIA";
      case StructureType::eBufferCollectionBufferCreateInfoFUCHSIA : return "BufferCollectionBufferCreateInfoFUCHSIA";
      case StructureType::eImageConstraintsInfoFUCHSIA : return "ImageConstraintsInfoFUCHSIA";
      case StructureType::eImageFormatConstraintsInfoFUCHSIA : return "ImageFormatConstraintsInfoFUCHSIA";
      case StructureType::eSysmemColorSpaceFUCHSIA : return "SysmemColorSpaceFUCHSIA";
      case StructureType::eBufferCollectionConstraintsInfoFUCHSIA : return "BufferCollectionConstraintsInfoFUCHSIA";
#endif /*VK_USE_PLATFORM_FUCHSIA*/
      case StructureType::eSubpassShadingPipelineCreateInfoHUAWEI : return "SubpassShadingPipelineCreateInfoHUAWEI";
      case StructureType::ePhysicalDeviceSubpassShadingFeaturesHUAWEI : return "PhysicalDeviceSubpassShadingFeaturesHUAWEI";
      case StructureType::ePhysicalDeviceSubpassShadingPropertiesHUAWEI : return "PhysicalDeviceSubpassShadingPropertiesHUAWEI";
      case StructureType::ePhysicalDeviceInvocationMaskFeaturesHUAWEI : return "PhysicalDeviceInvocationMaskFeaturesHUAWEI";
      case StructureType::eMemoryGetRemoteAddressInfoNV : return "MemoryGetRemoteAddressInfoNV";
      case StructureType::ePhysicalDeviceExternalMemoryRdmaFeaturesNV : return "PhysicalDeviceExternalMemoryRdmaFeaturesNV";
      case StructureType::ePipelinePropertiesIdentifierEXT : return "PipelinePropertiesIdentifierEXT";
      case StructureType::ePhysicalDevicePipelinePropertiesFeaturesEXT : return "PhysicalDevicePipelinePropertiesFeaturesEXT";
      case StructureType::ePhysicalDeviceFrameBoundaryFeaturesEXT : return "PhysicalDeviceFrameBoundaryFeaturesEXT";
      case StructureType::eFrameBoundaryEXT : return "FrameBoundaryEXT";
      case StructureType::ePhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT : return "PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT";
      case StructureType::eSubpassResolvePerformanceQueryEXT : return "SubpassResolvePerformanceQueryEXT";
      case StructureType::eMultisampledRenderToSingleSampledInfoEXT : return "MultisampledRenderToSingleSampledInfoEXT";
      case StructureType::ePhysicalDeviceExtendedDynamicState2FeaturesEXT : return "PhysicalDeviceExtendedDynamicState2FeaturesEXT";
#if defined( VK_USE_PLATFORM_SCREEN_QNX )
      case StructureType::eScreenSurfaceCreateInfoQNX : return "ScreenSurfaceCreateInfoQNX";
#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
      case StructureType::ePhysicalDeviceColorWriteEnableFeaturesEXT : return "PhysicalDeviceColorWriteEnableFeaturesEXT";
      case StructureType::ePipelineColorWriteCreateInfoEXT : return "PipelineColorWriteCreateInfoEXT";
      case StructureType::ePhysicalDevicePrimitivesGeneratedQueryFeaturesEXT : return "PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT";
      case StructureType::ePhysicalDeviceRayTracingMaintenance1FeaturesKHR : return "PhysicalDeviceRayTracingMaintenance1FeaturesKHR";
      case StructureType::ePhysicalDeviceImageViewMinLodFeaturesEXT : return "PhysicalDeviceImageViewMinLodFeaturesEXT";
      case StructureType::eImageViewMinLodCreateInfoEXT : return "ImageViewMinLodCreateInfoEXT";
      case StructureType::ePhysicalDeviceMultiDrawFeaturesEXT : return "PhysicalDeviceMultiDrawFeaturesEXT";
      case StructureType::ePhysicalDeviceMultiDrawPropertiesEXT : return "PhysicalDeviceMultiDrawPropertiesEXT";
      case StructureType::ePhysicalDeviceImage2DViewOf3DFeaturesEXT : return "PhysicalDeviceImage2DViewOf3DFeaturesEXT";
      case StructureType::ePhysicalDeviceShaderTileImageFeaturesEXT : return "PhysicalDeviceShaderTileImageFeaturesEXT";
      case StructureType::ePhysicalDeviceShaderTileImagePropertiesEXT : return "PhysicalDeviceShaderTileImagePropertiesEXT";
      case StructureType::eMicromapBuildInfoEXT : return "MicromapBuildInfoEXT";
      case StructureType::eMicromapVersionInfoEXT : return "MicromapVersionInfoEXT";
      case StructureType::eCopyMicromapInfoEXT : return "CopyMicromapInfoEXT";
      case StructureType::eCopyMicromapToMemoryInfoEXT : return "CopyMicromapToMemoryInfoEXT";
      case StructureType::eCopyMemoryToMicromapInfoEXT : return "CopyMemoryToMicromapInfoEXT";
      case StructureType::ePhysicalDeviceOpacityMicromapFeaturesEXT : return "PhysicalDeviceOpacityMicromapFeaturesEXT";
      case StructureType::ePhysicalDeviceOpacityMicromapPropertiesEXT : return "PhysicalDeviceOpacityMicromapPropertiesEXT";
      case StructureType::eMicromapCreateInfoEXT : return "MicromapCreateInfoEXT";
      case StructureType::eMicromapBuildSizesInfoEXT : return "MicromapBuildSizesInfoEXT";
      case StructureType::eAccelerationStructureTrianglesOpacityMicromapEXT : return "AccelerationStructureTrianglesOpacityMicromapEXT";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
      case StructureType::ePhysicalDeviceDisplacementMicromapFeaturesNV : return "PhysicalDeviceDisplacementMicromapFeaturesNV";
      case StructureType::ePhysicalDeviceDisplacementMicromapPropertiesNV : return "PhysicalDeviceDisplacementMicromapPropertiesNV";
      case StructureType::eAccelerationStructureTrianglesDisplacementMicromapNV : return "AccelerationStructureTrianglesDisplacementMicromapNV";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
      case StructureType::ePhysicalDeviceClusterCullingShaderFeaturesHUAWEI : return "PhysicalDeviceClusterCullingShaderFeaturesHUAWEI";
      case StructureType::ePhysicalDeviceClusterCullingShaderPropertiesHUAWEI : return "PhysicalDeviceClusterCullingShaderPropertiesHUAWEI";
      case StructureType::ePhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI : return "PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI";
      case StructureType::ePhysicalDeviceBorderColorSwizzleFeaturesEXT : return "PhysicalDeviceBorderColorSwizzleFeaturesEXT";
      case StructureType::eSamplerBorderColorComponentMappingCreateInfoEXT : return "SamplerBorderColorComponentMappingCreateInfoEXT";
      case StructureType::ePhysicalDevicePageableDeviceLocalMemoryFeaturesEXT : return "PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT";
      case StructureType::ePhysicalDeviceShaderCorePropertiesARM : return "PhysicalDeviceShaderCorePropertiesARM";
      case StructureType::eDeviceQueueShaderCoreControlCreateInfoARM : return "DeviceQueueShaderCoreControlCreateInfoARM";
      case StructureType::ePhysicalDeviceSchedulingControlsFeaturesARM : return "PhysicalDeviceSchedulingControlsFeaturesARM";
      case StructureType::ePhysicalDeviceSchedulingControlsPropertiesARM : return "PhysicalDeviceSchedulingControlsPropertiesARM";
      case StructureType::ePhysicalDeviceImageSlicedViewOf3DFeaturesEXT : return "PhysicalDeviceImageSlicedViewOf3DFeaturesEXT";
      case StructureType::eImageViewSlicedCreateInfoEXT : return "ImageViewSlicedCreateInfoEXT";
      case StructureType::ePhysicalDeviceDescriptorSetHostMappingFeaturesVALVE : return "PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE";
      case StructureType::eDescriptorSetBindingReferenceVALVE : return "DescriptorSetBindingReferenceVALVE";
      case StructureType::eDescriptorSetLayoutHostMappingInfoVALVE : return "DescriptorSetLayoutHostMappingInfoVALVE";
      case StructureType::ePhysicalDeviceNonSeamlessCubeMapFeaturesEXT : return "PhysicalDeviceNonSeamlessCubeMapFeaturesEXT";
      case StructureType::ePhysicalDeviceRenderPassStripedFeaturesARM : return "PhysicalDeviceRenderPassStripedFeaturesARM";
      case StructureType::ePhysicalDeviceRenderPassStripedPropertiesARM : return "PhysicalDeviceRenderPassStripedPropertiesARM";
      case StructureType::eRenderPassStripeBeginInfoARM : return "RenderPassStripeBeginInfoARM";
      case StructureType::eRenderPassStripeInfoARM : return "RenderPassStripeInfoARM";
      case StructureType::eRenderPassStripeSubmitInfoARM : return "RenderPassStripeSubmitInfoARM";
      case StructureType::ePhysicalDeviceCopyMemoryIndirectFeaturesNV : return "PhysicalDeviceCopyMemoryIndirectFeaturesNV";
      case StructureType::ePhysicalDeviceCopyMemoryIndirectPropertiesNV : return "PhysicalDeviceCopyMemoryIndirectPropertiesNV";
      case StructureType::ePhysicalDeviceMemoryDecompressionFeaturesNV : return "PhysicalDeviceMemoryDecompressionFeaturesNV";
      case StructureType::ePhysicalDeviceMemoryDecompressionPropertiesNV : return "PhysicalDeviceMemoryDecompressionPropertiesNV";
      case StructureType::ePhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV : return "PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV";
      case StructureType::eComputePipelineIndirectBufferInfoNV : return "ComputePipelineIndirectBufferInfoNV";
      case StructureType::ePipelineIndirectDeviceAddressInfoNV : return "PipelineIndirectDeviceAddressInfoNV";
      case StructureType::ePhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV : return "PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV";
      case StructureType::eAccelerationStructureGeometryLinearSweptSpheresDataNV : return "AccelerationStructureGeometryLinearSweptSpheresDataNV";
      case StructureType::eAccelerationStructureGeometrySpheresDataNV : return "AccelerationStructureGeometrySpheresDataNV";
      case StructureType::ePhysicalDeviceLinearColorAttachmentFeaturesNV : return "PhysicalDeviceLinearColorAttachmentFeaturesNV";
      case StructureType::ePhysicalDeviceShaderMaximalReconvergenceFeaturesKHR : return "PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR";
      case StructureType::ePhysicalDeviceImageCompressionControlSwapchainFeaturesEXT : return "PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT";
      case StructureType::ePhysicalDeviceImageProcessingFeaturesQCOM : return "PhysicalDeviceImageProcessingFeaturesQCOM";
      case StructureType::ePhysicalDeviceImageProcessingPropertiesQCOM : return "PhysicalDeviceImageProcessingPropertiesQCOM";
      case StructureType::eImageViewSampleWeightCreateInfoQCOM : return "ImageViewSampleWeightCreateInfoQCOM";
      case StructureType::ePhysicalDeviceNestedCommandBufferFeaturesEXT : return "PhysicalDeviceNestedCommandBufferFeaturesEXT";
      case StructureType::ePhysicalDeviceNestedCommandBufferPropertiesEXT : return "PhysicalDeviceNestedCommandBufferPropertiesEXT";
      case StructureType::eExternalMemoryAcquireUnmodifiedEXT : return "ExternalMemoryAcquireUnmodifiedEXT";
      case StructureType::ePhysicalDeviceExtendedDynamicState3FeaturesEXT : return "PhysicalDeviceExtendedDynamicState3FeaturesEXT";
      case StructureType::ePhysicalDeviceExtendedDynamicState3PropertiesEXT : return "PhysicalDeviceExtendedDynamicState3PropertiesEXT";
      case StructureType::ePhysicalDeviceSubpassMergeFeedbackFeaturesEXT : return "PhysicalDeviceSubpassMergeFeedbackFeaturesEXT";
      case StructureType::eRenderPassCreationControlEXT : return "RenderPassCreationControlEXT";
      case StructureType::eRenderPassCreationFeedbackCreateInfoEXT : return "RenderPassCreationFeedbackCreateInfoEXT";
      case StructureType::eRenderPassSubpassFeedbackCreateInfoEXT : return "RenderPassSubpassFeedbackCreateInfoEXT";
      case StructureType::eDirectDriverLoadingInfoLUNARG : return "DirectDriverLoadingInfoLUNARG";
      case StructureType::eDirectDriverLoadingListLUNARG : return "DirectDriverLoadingListLUNARG";
      case StructureType::eTensorCreateInfoARM : return "TensorCreateInfoARM";
      case StructureType::eTensorViewCreateInfoARM : return "TensorViewCreateInfoARM";
      case StructureType::eBindTensorMemoryInfoARM : return "BindTensorMemoryInfoARM";
      case StructureType::eWriteDescriptorSetTensorARM : return "WriteDescriptorSetTensorARM";
      case StructureType::ePhysicalDeviceTensorPropertiesARM : return "PhysicalDeviceTensorPropertiesARM";
      case StructureType::eTensorFormatPropertiesARM : return "TensorFormatPropertiesARM";
      case StructureType::eTensorDescriptionARM : return "TensorDescriptionARM";
      case StructureType::eTensorMemoryRequirementsInfoARM : return "TensorMemoryRequirementsInfoARM";
      case StructureType::eTensorMemoryBarrierARM : return "TensorMemoryBarrierARM";
      case StructureType::ePhysicalDeviceTensorFeaturesARM : return "PhysicalDeviceTensorFeaturesARM";
      case StructureType::eDeviceTensorMemoryRequirementsARM : return "DeviceTensorMemoryRequirementsARM";
      case StructureType::eCopyTensorInfoARM : return "CopyTensorInfoARM";
      case StructureType::eTensorCopyARM : return "TensorCopyARM";
      case StructureType::eTensorDependencyInfoARM : return "TensorDependencyInfoARM";
      case StructureType::eMemoryDedicatedAllocateInfoTensorARM : return "MemoryDedicatedAllocateInfoTensorARM";
      case StructureType::ePhysicalDeviceExternalTensorInfoARM : return "PhysicalDeviceExternalTensorInfoARM";
      case StructureType::eExternalTensorPropertiesARM : return "ExternalTensorPropertiesARM";
      case StructureType::eExternalMemoryTensorCreateInfoARM : return "ExternalMemoryTensorCreateInfoARM";
      case StructureType::ePhysicalDeviceDescriptorBufferTensorFeaturesARM : return "PhysicalDeviceDescriptorBufferTensorFeaturesARM";
      case StructureType::ePhysicalDeviceDescriptorBufferTensorPropertiesARM : return "PhysicalDeviceDescriptorBufferTensorPropertiesARM";
      case StructureType::eDescriptorGetTensorInfoARM : return "DescriptorGetTensorInfoARM";
      case StructureType::eTensorCaptureDescriptorDataInfoARM : return "TensorCaptureDescriptorDataInfoARM";
      case StructureType::eTensorViewCaptureDescriptorDataInfoARM : return "TensorViewCaptureDescriptorDataInfoARM";
      case StructureType::eFrameBoundaryTensorsARM : return "FrameBoundaryTensorsARM";
      case StructureType::ePhysicalDeviceShaderModuleIdentifierFeaturesEXT : return "PhysicalDeviceShaderModuleIdentifierFeaturesEXT";
      case StructureType::ePhysicalDeviceShaderModuleIdentifierPropertiesEXT : return "PhysicalDeviceShaderModuleIdentifierPropertiesEXT";
      case StructureType::ePipelineShaderStageModuleIdentifierCreateInfoEXT : return "PipelineShaderStageModuleIdentifierCreateInfoEXT";
      case StructureType::eShaderModuleIdentifierEXT : return "ShaderModuleIdentifierEXT";
      case StructureType::ePhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT : return "PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT";
      case StructureType::ePhysicalDeviceOpticalFlowFeaturesNV : return "PhysicalDeviceOpticalFlowFeaturesNV";
      case StructureType::ePhysicalDeviceOpticalFlowPropertiesNV : return "PhysicalDeviceOpticalFlowPropertiesNV";
      case StructureType::eOpticalFlowImageFormatInfoNV : return "OpticalFlowImageFormatInfoNV";
      case StructureType::eOpticalFlowImageFormatPropertiesNV : return "OpticalFlowImageFormatPropertiesNV";
      case StructureType::eOpticalFlowSessionCreateInfoNV : return "OpticalFlowSessionCreateInfoNV";
      case StructureType::eOpticalFlowExecuteInfoNV : return "OpticalFlowExecuteInfoNV";
      case StructureType::eOpticalFlowSessionCreatePrivateDataInfoNV : return "OpticalFlowSessionCreatePrivateDataInfoNV";
      case StructureType::ePhysicalDeviceLegacyDitheringFeaturesEXT : return "PhysicalDeviceLegacyDitheringFeaturesEXT";
#if defined( VK_USE_PLATFORM_ANDROID_KHR )
      case StructureType::ePhysicalDeviceExternalFormatResolveFeaturesANDROID : return "PhysicalDeviceExternalFormatResolveFeaturesANDROID";
      case StructureType::ePhysicalDeviceExternalFormatResolvePropertiesANDROID : return "PhysicalDeviceExternalFormatResolvePropertiesANDROID";
      case StructureType::eAndroidHardwareBufferFormatResolvePropertiesANDROID : return "AndroidHardwareBufferFormatResolvePropertiesANDROID";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
      case StructureType::ePhysicalDeviceAntiLagFeaturesAMD : return "PhysicalDeviceAntiLagFeaturesAMD";
      case StructureType::eAntiLagDataAMD : return "AntiLagDataAMD";
      case StructureType::eAntiLagPresentationInfoAMD : return "AntiLagPresentationInfoAMD";
      case StructureType::eSurfaceCapabilitiesPresentId2KHR : return "SurfaceCapabilitiesPresentId2KHR";
      case StructureType::ePresentId2KHR : return "PresentId2KHR";
      case StructureType::ePhysicalDevicePresentId2FeaturesKHR : return "PhysicalDevicePresentId2FeaturesKHR";
      case StructureType::eSurfaceCapabilitiesPresentWait2KHR : return "SurfaceCapabilitiesPresentWait2KHR";
      case StructureType::ePhysicalDevicePresentWait2FeaturesKHR : return "PhysicalDevicePresentWait2FeaturesKHR";
      case StructureType::ePresentWait2InfoKHR : return "PresentWait2InfoKHR";
      case StructureType::ePhysicalDeviceRayTracingPositionFetchFeaturesKHR : return "PhysicalDeviceRayTracingPositionFetchFeaturesKHR";
      case StructureType::ePhysicalDeviceShaderObjectFeaturesEXT : return "PhysicalDeviceShaderObjectFeaturesEXT";
      case StructureType::ePhysicalDeviceShaderObjectPropertiesEXT : return "PhysicalDeviceShaderObjectPropertiesEXT";
      case StructureType::eShaderCreateInfoEXT : return "ShaderCreateInfoEXT";
      case StructureType::ePhysicalDevicePipelineBinaryFeaturesKHR : return "PhysicalDevicePipelineBinaryFeaturesKHR";
      case StructureType::ePipelineBinaryCreateInfoKHR : return "PipelineBinaryCreateInfoKHR";
      case StructureType::ePipelineBinaryInfoKHR : return "PipelineBinaryInfoKHR";
      case StructureType::ePipelineBinaryKeyKHR : return "PipelineBinaryKeyKHR";
      case StructureType::ePhysicalDevicePipelineBinaryPropertiesKHR : return "PhysicalDevicePipelineBinaryPropertiesKHR";
      case StructureType::eReleaseCapturedPipelineDataInfoKHR : return "ReleaseCapturedPipelineDataInfoKHR";
      case StructureType::ePipelineBinaryDataInfoKHR : return "PipelineBinaryDataInfoKHR";
      case StructureType::ePipelineCreateInfoKHR : return "PipelineCreateInfoKHR";
      case StructureType::eDevicePipelineBinaryInternalCacheControlKHR : return "DevicePipelineBinaryInternalCacheControlKHR";
      case StructureType::ePipelineBinaryHandlesInfoKHR : return "PipelineBinaryHandlesInfoKHR";
      case StructureType::ePhysicalDeviceTilePropertiesFeaturesQCOM : return "PhysicalDeviceTilePropertiesFeaturesQCOM";
      case StructureType::eTilePropertiesQCOM : return "TilePropertiesQCOM";
      case StructureType::ePhysicalDeviceAmigoProfilingFeaturesSEC : return "PhysicalDeviceAmigoProfilingFeaturesSEC";
      case StructureType::eAmigoProfilingSubmitInfoSEC : return "AmigoProfilingSubmitInfoSEC";
      case StructureType::ePhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM : return "PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM";
      case StructureType::ePhysicalDeviceRayTracingInvocationReorderFeaturesNV : return "PhysicalDeviceRayTracingInvocationReorderFeaturesNV";
      case StructureType::ePhysicalDeviceRayTracingInvocationReorderPropertiesNV : return "PhysicalDeviceRayTracingInvocationReorderPropertiesNV";
      case StructureType::ePhysicalDeviceCooperativeVectorFeaturesNV : return "PhysicalDeviceCooperativeVectorFeaturesNV";
      case StructureType::ePhysicalDeviceCooperativeVectorPropertiesNV : return "PhysicalDeviceCooperativeVectorPropertiesNV";
      case StructureType::eCooperativeVectorPropertiesNV : return "CooperativeVectorPropertiesNV";
      case StructureType::eConvertCooperativeVectorMatrixInfoNV : return "ConvertCooperativeVectorMatrixInfoNV";
      case StructureType::ePhysicalDeviceExtendedSparseAddressSpaceFeaturesNV : return "PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV";
      case StructureType::ePhysicalDeviceExtendedSparseAddressSpacePropertiesNV : return "PhysicalDeviceExtendedSparseAddressSpacePropertiesNV";
      case StructureType::ePhysicalDeviceMutableDescriptorTypeFeaturesEXT : return "PhysicalDeviceMutableDescriptorTypeFeaturesEXT";
      case StructureType::eMutableDescriptorTypeCreateInfoEXT : return "MutableDescriptorTypeCreateInfoEXT";
      case StructureType::ePhysicalDeviceLegacyVertexAttributesFeaturesEXT : return "PhysicalDeviceLegacyVertexAttributesFeaturesEXT";
      case StructureType::ePhysicalDeviceLegacyVertexAttributesPropertiesEXT : return "PhysicalDeviceLegacyVertexAttributesPropertiesEXT";
      case StructureType::eLayerSettingsCreateInfoEXT : return "LayerSettingsCreateInfoEXT";
      case StructureType::ePhysicalDeviceShaderCoreBuiltinsFeaturesARM : return "PhysicalDeviceShaderCoreBuiltinsFeaturesARM";
      case StructureType::ePhysicalDeviceShaderCoreBuiltinsPropertiesARM : return "PhysicalDeviceShaderCoreBuiltinsPropertiesARM";
      case StructureType::ePhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT : return "PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT";
      case StructureType::ePhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT : return "PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT";
      case StructureType::eLatencySleepModeInfoNV : return "LatencySleepModeInfoNV";
      case StructureType::eLatencySleepInfoNV : return "LatencySleepInfoNV";
      case StructureType::eSetLatencyMarkerInfoNV : return "SetLatencyMarkerInfoNV";
      case StructureType::eGetLatencyMarkerInfoNV : return "GetLatencyMarkerInfoNV";
      case StructureType::eLatencyTimingsFrameReportNV : return "LatencyTimingsFrameReportNV";
      case StructureType::eLatencySubmissionPresentIdNV : return "LatencySubmissionPresentIdNV";
      case StructureType::eOutOfBandQueueTypeInfoNV : return "OutOfBandQueueTypeInfoNV";
      case StructureType::eSwapchainLatencyCreateInfoNV : return "SwapchainLatencyCreateInfoNV";
      case StructureType::eLatencySurfaceCapabilitiesNV : return "LatencySurfaceCapabilitiesNV";
      case StructureType::ePhysicalDeviceCooperativeMatrixFeaturesKHR : return "PhysicalDeviceCooperativeMatrixFeaturesKHR";
      case StructureType::eCooperativeMatrixPropertiesKHR : return "CooperativeMatrixPropertiesKHR";
      case StructureType::ePhysicalDeviceCooperativeMatrixPropertiesKHR : return "PhysicalDeviceCooperativeMatrixPropertiesKHR";
      case StructureType::ePhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM : return "PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM";
      case StructureType::eMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM : return "MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM";
      case StructureType::ePhysicalDeviceComputeShaderDerivativesFeaturesKHR : return "PhysicalDeviceComputeShaderDerivativesFeaturesKHR";
      case StructureType::ePhysicalDeviceComputeShaderDerivativesPropertiesKHR : return "PhysicalDeviceComputeShaderDerivativesPropertiesKHR";
      case StructureType::eVideoDecodeAv1CapabilitiesKHR : return "VideoDecodeAv1CapabilitiesKHR";
      case StructureType::eVideoDecodeAv1PictureInfoKHR : return "VideoDecodeAv1PictureInfoKHR";
      case StructureType::eVideoDecodeAv1ProfileInfoKHR : return "VideoDecodeAv1ProfileInfoKHR";
      case StructureType::eVideoDecodeAv1SessionParametersCreateInfoKHR : return "VideoDecodeAv1SessionParametersCreateInfoKHR";
      case StructureType::eVideoDecodeAv1DpbSlotInfoKHR : return "VideoDecodeAv1DpbSlotInfoKHR";
      case StructureType::eVideoEncodeAv1CapabilitiesKHR : return "VideoEncodeAv1CapabilitiesKHR";
      case StructureType::eVideoEncodeAv1SessionParametersCreateInfoKHR : return "VideoEncodeAv1SessionParametersCreateInfoKHR";
      case StructureType::eVideoEncodeAv1PictureInfoKHR : return "VideoEncodeAv1PictureInfoKHR";
      case StructureType::eVideoEncodeAv1DpbSlotInfoKHR : return "VideoEncodeAv1DpbSlotInfoKHR";
      case StructureType::ePhysicalDeviceVideoEncodeAv1FeaturesKHR : return "PhysicalDeviceVideoEncodeAv1FeaturesKHR";
      case StructureType::eVideoEncodeAv1ProfileInfoKHR : return "VideoEncodeAv1ProfileInfoKHR";
      case StructureType::eVideoEncodeAv1RateControlInfoKHR : return "VideoEncodeAv1RateControlInfoKHR";
      case StructureType::eVideoEncodeAv1RateControlLayerInfoKHR : return "VideoEncodeAv1RateControlLayerInfoKHR";
      case StructureType::eVideoEncodeAv1QualityLevelPropertiesKHR : return "VideoEncodeAv1QualityLevelPropertiesKHR";
      case StructureType::eVideoEncodeAv1SessionCreateInfoKHR : return "VideoEncodeAv1SessionCreateInfoKHR";
      case StructureType::eVideoEncodeAv1GopRemainingFrameInfoKHR : return "VideoEncodeAv1GopRemainingFrameInfoKHR";
      case StructureType::ePhysicalDeviceVideoDecodeVp9FeaturesKHR : return "PhysicalDeviceVideoDecodeVp9FeaturesKHR";
      case StructureType::eVideoDecodeVp9CapabilitiesKHR : return "VideoDecodeVp9CapabilitiesKHR";
      case StructureType::eVideoDecodeVp9PictureInfoKHR : return "VideoDecodeVp9PictureInfoKHR";
      case StructureType::eVideoDecodeVp9ProfileInfoKHR : return "VideoDecodeVp9ProfileInfoKHR";
      case StructureType::ePhysicalDeviceVideoMaintenance1FeaturesKHR : return "PhysicalDeviceVideoMaintenance1FeaturesKHR";
      case StructureType::eVideoInlineQueryInfoKHR : return "VideoInlineQueryInfoKHR";
      case StructureType::ePhysicalDevicePerStageDescriptorSetFeaturesNV : return "PhysicalDevicePerStageDescriptorSetFeaturesNV";
      case StructureType::ePhysicalDeviceImageProcessing2FeaturesQCOM : return "PhysicalDeviceImageProcessing2FeaturesQCOM";
      case StructureType::ePhysicalDeviceImageProcessing2PropertiesQCOM : return "PhysicalDeviceImageProcessing2PropertiesQCOM";
      case StructureType::eSamplerBlockMatchWindowCreateInfoQCOM : return "SamplerBlockMatchWindowCreateInfoQCOM";
      case StructureType::eSamplerCubicWeightsCreateInfoQCOM : return "SamplerCubicWeightsCreateInfoQCOM";
      case StructureType::ePhysicalDeviceCubicWeightsFeaturesQCOM : return "PhysicalDeviceCubicWeightsFeaturesQCOM";
      case StructureType::eBlitImageCubicWeightsInfoQCOM : return "BlitImageCubicWeightsInfoQCOM";
      case StructureType::ePhysicalDeviceYcbcrDegammaFeaturesQCOM : return "PhysicalDeviceYcbcrDegammaFeaturesQCOM";
      case StructureType::eSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM : return "SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM";
      case StructureType::ePhysicalDeviceCubicClampFeaturesQCOM : return "PhysicalDeviceCubicClampFeaturesQCOM";
      case StructureType::ePhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT : return "PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT";
      case StructureType::ePhysicalDeviceUnifiedImageLayoutsFeaturesKHR : return "PhysicalDeviceUnifiedImageLayoutsFeaturesKHR";
      case StructureType::eAttachmentFeedbackLoopInfoEXT : return "AttachmentFeedbackLoopInfoEXT";
#if defined( VK_USE_PLATFORM_SCREEN_QNX )
      case StructureType::eScreenBufferPropertiesQNX : return "ScreenBufferPropertiesQNX";
      case StructureType::eScreenBufferFormatPropertiesQNX : return "ScreenBufferFormatPropertiesQNX";
      case StructureType::eImportScreenBufferInfoQNX : return "ImportScreenBufferInfoQNX";
      case StructureType::eExternalFormatQNX : return "ExternalFormatQNX";
      case StructureType::ePhysicalDeviceExternalMemoryScreenBufferFeaturesQNX : return "PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX";
#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
      case StructureType::ePhysicalDeviceLayeredDriverPropertiesMSFT : return "PhysicalDeviceLayeredDriverPropertiesMSFT";
      case StructureType::eCalibratedTimestampInfoKHR : return "CalibratedTimestampInfoKHR";
      case StructureType::eSetDescriptorBufferOffsetsInfoEXT : return "SetDescriptorBufferOffsetsInfoEXT";
      case StructureType::eBindDescriptorBufferEmbeddedSamplersInfoEXT : return "BindDescriptorBufferEmbeddedSamplersInfoEXT";
      case StructureType::ePhysicalDeviceDescriptorPoolOverallocationFeaturesNV : return "PhysicalDeviceDescriptorPoolOverallocationFeaturesNV";
      case StructureType::ePhysicalDeviceTileMemoryHeapFeaturesQCOM : return "PhysicalDeviceTileMemoryHeapFeaturesQCOM";
      case StructureType::ePhysicalDeviceTileMemoryHeapPropertiesQCOM : return "PhysicalDeviceTileMemoryHeapPropertiesQCOM";
      case StructureType::eTileMemoryRequirementsQCOM : return "TileMemoryRequirementsQCOM";
      case StructureType::eTileMemoryBindInfoQCOM : return "TileMemoryBindInfoQCOM";
      case StructureType::eTileMemorySizeInfoQCOM : return "TileMemorySizeInfoQCOM";
      case StructureType::eDisplaySurfaceStereoCreateInfoNV : return "DisplaySurfaceStereoCreateInfoNV";
      case StructureType::eDisplayModeStereoPropertiesNV : return "DisplayModeStereoPropertiesNV";
      case StructureType::eVideoEncodeQuantizationMapCapabilitiesKHR : return "VideoEncodeQuantizationMapCapabilitiesKHR";
      case StructureType::eVideoFormatQuantizationMapPropertiesKHR : return "VideoFormatQuantizationMapPropertiesKHR";
      case StructureType::eVideoEncodeQuantizationMapInfoKHR : return "VideoEncodeQuantizationMapInfoKHR";
      case StructureType::eVideoEncodeQuantizationMapSessionParametersCreateInfoKHR : return "VideoEncodeQuantizationMapSessionParametersCreateInfoKHR";
      case StructureType::ePhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR : return "PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR";
      case StructureType::eVideoEncodeH264QuantizationMapCapabilitiesKHR : return "VideoEncodeH264QuantizationMapCapabilitiesKHR";
      case StructureType::eVideoEncodeH265QuantizationMapCapabilitiesKHR : return "VideoEncodeH265QuantizationMapCapabilitiesKHR";
      case StructureType::eVideoFormatH265QuantizationMapPropertiesKHR : return "VideoFormatH265QuantizationMapPropertiesKHR";
      case StructureType::eVideoEncodeAv1QuantizationMapCapabilitiesKHR : return "VideoEncodeAv1QuantizationMapCapabilitiesKHR";
      case StructureType::eVideoFormatAv1QuantizationMapPropertiesKHR : return "VideoFormatAv1QuantizationMapPropertiesKHR";
      case StructureType::ePhysicalDeviceRawAccessChainsFeaturesNV : return "PhysicalDeviceRawAccessChainsFeaturesNV";
      case StructureType::eExternalComputeQueueDeviceCreateInfoNV : return "ExternalComputeQueueDeviceCreateInfoNV";
      case StructureType::eExternalComputeQueueCreateInfoNV : return "ExternalComputeQueueCreateInfoNV";
      case StructureType::eExternalComputeQueueDataParamsNV : return "ExternalComputeQueueDataParamsNV";
      case StructureType::ePhysicalDeviceExternalComputeQueuePropertiesNV : return "PhysicalDeviceExternalComputeQueuePropertiesNV";
      case StructureType::ePhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR : return "PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR";
      case StructureType::ePhysicalDeviceCommandBufferInheritanceFeaturesNV : return "PhysicalDeviceCommandBufferInheritanceFeaturesNV";
      case StructureType::ePhysicalDeviceMaintenance7FeaturesKHR : return "PhysicalDeviceMaintenance7FeaturesKHR";
      case StructureType::ePhysicalDeviceMaintenance7PropertiesKHR : return "PhysicalDeviceMaintenance7PropertiesKHR";
      case StructureType::ePhysicalDeviceLayeredApiPropertiesListKHR : return "PhysicalDeviceLayeredApiPropertiesListKHR";
      case StructureType::ePhysicalDeviceLayeredApiPropertiesKHR : return "PhysicalDeviceLayeredApiPropertiesKHR";
      case StructureType::ePhysicalDeviceLayeredApiVulkanPropertiesKHR : return "PhysicalDeviceLayeredApiVulkanPropertiesKHR";
      case StructureType::ePhysicalDeviceShaderAtomicFloat16VectorFeaturesNV : return "PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV";
      case StructureType::ePhysicalDeviceShaderReplicatedCompositesFeaturesEXT : return "PhysicalDeviceShaderReplicatedCompositesFeaturesEXT";
      case StructureType::ePhysicalDeviceShaderFloat8FeaturesEXT : return "PhysicalDeviceShaderFloat8FeaturesEXT";
      case StructureType::ePhysicalDeviceRayTracingValidationFeaturesNV : return "PhysicalDeviceRayTracingValidationFeaturesNV";
      case StructureType::ePhysicalDeviceClusterAccelerationStructureFeaturesNV : return "PhysicalDeviceClusterAccelerationStructureFeaturesNV";
      case StructureType::ePhysicalDeviceClusterAccelerationStructurePropertiesNV : return "PhysicalDeviceClusterAccelerationStructurePropertiesNV";
      case StructureType::eClusterAccelerationStructureClustersBottomLevelInputNV : return "ClusterAccelerationStructureClustersBottomLevelInputNV";
      case StructureType::eClusterAccelerationStructureTriangleClusterInputNV : return "ClusterAccelerationStructureTriangleClusterInputNV";
      case StructureType::eClusterAccelerationStructureMoveObjectsInputNV : return "ClusterAccelerationStructureMoveObjectsInputNV";
      case StructureType::eClusterAccelerationStructureInputInfoNV : return "ClusterAccelerationStructureInputInfoNV";
      case StructureType::eClusterAccelerationStructureCommandsInfoNV : return "ClusterAccelerationStructureCommandsInfoNV";
      case StructureType::eRayTracingPipelineClusterAccelerationStructureCreateInfoNV : return "RayTracingPipelineClusterAccelerationStructureCreateInfoNV";
      case StructureType::ePhysicalDevicePartitionedAccelerationStructureFeaturesNV : return "PhysicalDevicePartitionedAccelerationStructureFeaturesNV";
      case StructureType::ePhysicalDevicePartitionedAccelerationStructurePropertiesNV : return "PhysicalDevicePartitionedAccelerationStructurePropertiesNV";
      case StructureType::eWriteDescriptorSetPartitionedAccelerationStructureNV : return "WriteDescriptorSetPartitionedAccelerationStructureNV";
      case StructureType::ePartitionedAccelerationStructureInstancesInputNV : return "PartitionedAccelerationStructureInstancesInputNV";
      case StructureType::eBuildPartitionedAccelerationStructureInfoNV : return "BuildPartitionedAccelerationStructureInfoNV";
      case StructureType::ePartitionedAccelerationStructureFlagsNV : return "PartitionedAccelerationStructureFlagsNV";
      case StructureType::ePhysicalDeviceDeviceGeneratedCommandsFeaturesEXT : return "PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT";
      case StructureType::ePhysicalDeviceDeviceGeneratedCommandsPropertiesEXT : return "PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT";
      case StructureType::eGeneratedCommandsMemoryRequirementsInfoEXT : return "GeneratedCommandsMemoryRequirementsInfoEXT";
      case StructureType::eIndirectExecutionSetCreateInfoEXT : return "IndirectExecutionSetCreateInfoEXT";
      case StructureType::eGeneratedCommandsInfoEXT : return "GeneratedCommandsInfoEXT";
      case StructureType::eIndirectCommandsLayoutCreateInfoEXT : return "IndirectCommandsLayoutCreateInfoEXT";
      case StructureType::eIndirectCommandsLayoutTokenEXT : return "IndirectCommandsLayoutTokenEXT";
      case StructureType::eWriteIndirectExecutionSetPipelineEXT : return "WriteIndirectExecutionSetPipelineEXT";
      case StructureType::eWriteIndirectExecutionSetShaderEXT : return "WriteIndirectExecutionSetShaderEXT";
      case StructureType::eIndirectExecutionSetPipelineInfoEXT : return "IndirectExecutionSetPipelineInfoEXT";
      case StructureType::eIndirectExecutionSetShaderInfoEXT : return "IndirectExecutionSetShaderInfoEXT";
      case StructureType::eIndirectExecutionSetShaderLayoutInfoEXT : return "IndirectExecutionSetShaderLayoutInfoEXT";
      case StructureType::eGeneratedCommandsPipelineInfoEXT : return "GeneratedCommandsPipelineInfoEXT";
      case StructureType::eGeneratedCommandsShaderInfoEXT : return "GeneratedCommandsShaderInfoEXT";
      case StructureType::ePhysicalDeviceMaintenance8FeaturesKHR : return "PhysicalDeviceMaintenance8FeaturesKHR";
      case StructureType::eMemoryBarrierAccessFlags3KHR : return "MemoryBarrierAccessFlags3KHR";
      case StructureType::ePhysicalDeviceImageAlignmentControlFeaturesMESA : return "PhysicalDeviceImageAlignmentControlFeaturesMESA";
      case StructureType::ePhysicalDeviceImageAlignmentControlPropertiesMESA : return "PhysicalDeviceImageAlignmentControlPropertiesMESA";
      case StructureType::eImageAlignmentControlCreateInfoMESA : return "ImageAlignmentControlCreateInfoMESA";
      case StructureType::ePhysicalDeviceDepthClampControlFeaturesEXT : return "PhysicalDeviceDepthClampControlFeaturesEXT";
      case StructureType::ePipelineViewportDepthClampControlCreateInfoEXT : return "PipelineViewportDepthClampControlCreateInfoEXT";
      case StructureType::ePhysicalDeviceMaintenance9FeaturesKHR : return "PhysicalDeviceMaintenance9FeaturesKHR";
      case StructureType::ePhysicalDeviceMaintenance9PropertiesKHR : return "PhysicalDeviceMaintenance9PropertiesKHR";
      case StructureType::eQueueFamilyOwnershipTransferPropertiesKHR : return "QueueFamilyOwnershipTransferPropertiesKHR";
      case StructureType::ePhysicalDeviceVideoMaintenance2FeaturesKHR : return "PhysicalDeviceVideoMaintenance2FeaturesKHR";
      case StructureType::eVideoDecodeH264InlineSessionParametersInfoKHR : return "VideoDecodeH264InlineSessionParametersInfoKHR";
      case StructureType::eVideoDecodeH265InlineSessionParametersInfoKHR : return "VideoDecodeH265InlineSessionParametersInfoKHR";
      case StructureType::eVideoDecodeAv1InlineSessionParametersInfoKHR : return "VideoDecodeAv1InlineSessionParametersInfoKHR";
#if defined( VK_USE_PLATFORM_OHOS )
      case StructureType::eOhSurfaceCreateInfoOHOS : return "OhSurfaceCreateInfoOHOS";
#endif /*VK_USE_PLATFORM_OHOS*/
      case StructureType::ePhysicalDeviceHdrVividFeaturesHUAWEI : return "PhysicalDeviceHdrVividFeaturesHUAWEI";
      case StructureType::eHdrVividDynamicMetadataHUAWEI : return "HdrVividDynamicMetadataHUAWEI";
      case StructureType::ePhysicalDeviceCooperativeMatrix2FeaturesNV : return "PhysicalDeviceCooperativeMatrix2FeaturesNV";
      case StructureType::eCooperativeMatrixFlexibleDimensionsPropertiesNV : return "CooperativeMatrixFlexibleDimensionsPropertiesNV";
      case StructureType::ePhysicalDeviceCooperativeMatrix2PropertiesNV : return "PhysicalDeviceCooperativeMatrix2PropertiesNV";
      case StructureType::ePhysicalDevicePipelineOpacityMicromapFeaturesARM : return "PhysicalDevicePipelineOpacityMicromapFeaturesARM";
#if defined( VK_USE_PLATFORM_METAL_EXT )
      case StructureType::eImportMemoryMetalHandleInfoEXT : return "ImportMemoryMetalHandleInfoEXT";
      case StructureType::eMemoryMetalHandlePropertiesEXT : return "MemoryMetalHandlePropertiesEXT";
      case StructureType::eMemoryGetMetalHandleInfoEXT : return "MemoryGetMetalHandleInfoEXT";
#endif /*VK_USE_PLATFORM_METAL_EXT*/
      case StructureType::ePhysicalDeviceDepthClampZeroOneFeaturesKHR : return "PhysicalDeviceDepthClampZeroOneFeaturesKHR";
      case StructureType::ePhysicalDeviceVertexAttributeRobustnessFeaturesEXT : return "PhysicalDeviceVertexAttributeRobustnessFeaturesEXT";
      case StructureType::ePhysicalDeviceFormatPackFeaturesARM : return "PhysicalDeviceFormatPackFeaturesARM";
      case StructureType::ePhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE : return "PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE";
      case StructureType::ePhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE : return "PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE";
      case StructureType::ePipelineFragmentDensityMapLayeredCreateInfoVALVE : return "PipelineFragmentDensityMapLayeredCreateInfoVALVE";
      case StructureType::ePhysicalDeviceRobustness2FeaturesKHR : return "PhysicalDeviceRobustness2FeaturesKHR";
      case StructureType::ePhysicalDeviceRobustness2PropertiesKHR : return "PhysicalDeviceRobustness2PropertiesKHR";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
      case StructureType::eSetPresentConfigNV : return "SetPresentConfigNV";
      case StructureType::ePhysicalDevicePresentMeteringFeaturesNV : return "PhysicalDevicePresentMeteringFeaturesNV";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
      case StructureType::ePhysicalDeviceFragmentDensityMapOffsetFeaturesEXT : return "PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT";
      case StructureType::ePhysicalDeviceFragmentDensityMapOffsetPropertiesEXT : return "PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT";
      case StructureType::eRenderPassFragmentDensityMapOffsetEndInfoEXT : return "RenderPassFragmentDensityMapOffsetEndInfoEXT";
      case StructureType::eRenderingEndInfoEXT : return "RenderingEndInfoEXT";
      case StructureType::ePhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT : return "PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineCacheHeaderVersion value )
  {
    switch ( value )
    {
      case PipelineCacheHeaderVersion::eOne : return "One";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ObjectType value )
  {
    switch ( value )
    {
      case ObjectType::eUnknown : return "Unknown";
      case ObjectType::eInstance : return "Instance";
      case ObjectType::ePhysicalDevice : return "PhysicalDevice";
      case ObjectType::eDevice : return "Device";
      case ObjectType::eQueue : return "Queue";
      case ObjectType::eSemaphore : return "Semaphore";
      case ObjectType::eCommandBuffer : return "CommandBuffer";
      case ObjectType::eFence : return "Fence";
      case ObjectType::eDeviceMemory : return "DeviceMemory";
      case ObjectType::eBuffer : return "Buffer";
      case ObjectType::eImage : return "Image";
      case ObjectType::eEvent : return "Event";
      case ObjectType::eQueryPool : return "QueryPool";
      case ObjectType::eBufferView : return "BufferView";
      case ObjectType::eImageView : return "ImageView";
      case ObjectType::eShaderModule : return "ShaderModule";
      case ObjectType::ePipelineCache : return "PipelineCache";
      case ObjectType::ePipelineLayout : return "PipelineLayout";
      case ObjectType::eRenderPass : return "RenderPass";
      case ObjectType::ePipeline : return "Pipeline";
      case ObjectType::eDescriptorSetLayout : return "DescriptorSetLayout";
      case ObjectType::eSampler : return "Sampler";
      case ObjectType::eDescriptorPool : return "DescriptorPool";
      case ObjectType::eDescriptorSet : return "DescriptorSet";
      case ObjectType::eFramebuffer : return "Framebuffer";
      case ObjectType::eCommandPool : return "CommandPool";
      case ObjectType::eSamplerYcbcrConversion : return "SamplerYcbcrConversion";
      case ObjectType::eDescriptorUpdateTemplate : return "DescriptorUpdateTemplate";
      case ObjectType::ePrivateDataSlot : return "PrivateDataSlot";
      case ObjectType::eSurfaceKHR : return "SurfaceKHR";
      case ObjectType::eSwapchainKHR : return "SwapchainKHR";
      case ObjectType::eDisplayKHR : return "DisplayKHR";
      case ObjectType::eDisplayModeKHR : return "DisplayModeKHR";
      case ObjectType::eDebugReportCallbackEXT : return "DebugReportCallbackEXT";
      case ObjectType::eVideoSessionKHR : return "VideoSessionKHR";
      case ObjectType::eVideoSessionParametersKHR : return "VideoSessionParametersKHR";
      case ObjectType::eCuModuleNVX : return "CuModuleNVX";
      case ObjectType::eCuFunctionNVX : return "CuFunctionNVX";
      case ObjectType::eDebugUtilsMessengerEXT : return "DebugUtilsMessengerEXT";
      case ObjectType::eAccelerationStructureKHR : return "AccelerationStructureKHR";
      case ObjectType::eValidationCacheEXT : return "ValidationCacheEXT";
      case ObjectType::eAccelerationStructureNV : return "AccelerationStructureNV";
      case ObjectType::ePerformanceConfigurationINTEL : return "PerformanceConfigurationINTEL";
      case ObjectType::eDeferredOperationKHR : return "DeferredOperationKHR";
      case ObjectType::eIndirectCommandsLayoutNV : return "IndirectCommandsLayoutNV";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
      case ObjectType::eCudaModuleNV : return "CudaModuleNV";
      case ObjectType::eCudaFunctionNV : return "CudaFunctionNV";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
#if defined( VK_USE_PLATFORM_FUCHSIA )
      case ObjectType::eBufferCollectionFUCHSIA : return "BufferCollectionFUCHSIA";
#endif /*VK_USE_PLATFORM_FUCHSIA*/
      case ObjectType::eMicromapEXT : return "MicromapEXT";
      case ObjectType::eTensorARM : return "TensorARM";
      case ObjectType::eTensorViewARM : return "TensorViewARM";
      case ObjectType::eOpticalFlowSessionNV : return "OpticalFlowSessionNV";
      case ObjectType::eShaderEXT : return "ShaderEXT";
      case ObjectType::ePipelineBinaryKHR : return "PipelineBinaryKHR";
      case ObjectType::eExternalComputeQueueNV : return "ExternalComputeQueueNV";
      case ObjectType::eIndirectCommandsLayoutEXT : return "IndirectCommandsLayoutEXT";
      case ObjectType::eIndirectExecutionSetEXT : return "IndirectExecutionSetEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VendorId value )
  {
    switch ( value )
    {
      case VendorId::eKhronos : return "Khronos";
      case VendorId::eVIV : return "VIV";
      case VendorId::eVSI : return "VSI";
      case VendorId::eKazan : return "Kazan";
      case VendorId::eCodeplay : return "Codeplay";
      case VendorId::eMESA : return "MESA";
      case VendorId::ePocl : return "Pocl";
      case VendorId::eMobileye : return "Mobileye";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( Format value )
  {
    switch ( value )
    {
      case Format::eUndefined : return "Undefined";
      case Format::eR4G4UnormPack8 : return "R4G4UnormPack8";
      case Format::eR4G4B4A4UnormPack16 : return "R4G4B4A4UnormPack16";
      case Format::eB4G4R4A4UnormPack16 : return "B4G4R4A4UnormPack16";
      case Format::eR5G6B5UnormPack16 : return "R5G6B5UnormPack16";
      case Format::eB5G6R5UnormPack16 : return "B5G6R5UnormPack16";
      case Format::eR5G5B5A1UnormPack16 : return "R5G5B5A1UnormPack16";
      case Format::eB5G5R5A1UnormPack16 : return "B5G5R5A1UnormPack16";
      case Format::eA1R5G5B5UnormPack16 : return "A1R5G5B5UnormPack16";
      case Format::eR8Unorm : return "R8Unorm";
      case Format::eR8Snorm : return "R8Snorm";
      case Format::eR8Uscaled : return "R8Uscaled";
      case Format::eR8Sscaled : return "R8Sscaled";
      case Format::eR8Uint : return "R8Uint";
      case Format::eR8Sint : return "R8Sint";
      case Format::eR8Srgb : return "R8Srgb";
      case Format::eR8G8Unorm : return "R8G8Unorm";
      case Format::eR8G8Snorm : return "R8G8Snorm";
      case Format::eR8G8Uscaled : return "R8G8Uscaled";
      case Format::eR8G8Sscaled : return "R8G8Sscaled";
      case Format::eR8G8Uint : return "R8G8Uint";
      case Format::eR8G8Sint : return "R8G8Sint";
      case Format::eR8G8Srgb : return "R8G8Srgb";
      case Format::eR8G8B8Unorm : return "R8G8B8Unorm";
      case Format::eR8G8B8Snorm : return "R8G8B8Snorm";
      case Format::eR8G8B8Uscaled : return "R8G8B8Uscaled";
      case Format::eR8G8B8Sscaled : return "R8G8B8Sscaled";
      case Format::eR8G8B8Uint : return "R8G8B8Uint";
      case Format::eR8G8B8Sint : return "R8G8B8Sint";
      case Format::eR8G8B8Srgb : return "R8G8B8Srgb";
      case Format::eB8G8R8Unorm : return "B8G8R8Unorm";
      case Format::eB8G8R8Snorm : return "B8G8R8Snorm";
      case Format::eB8G8R8Uscaled : return "B8G8R8Uscaled";
      case Format::eB8G8R8Sscaled : return "B8G8R8Sscaled";
      case Format::eB8G8R8Uint : return "B8G8R8Uint";
      case Format::eB8G8R8Sint : return "B8G8R8Sint";
      case Format::eB8G8R8Srgb : return "B8G8R8Srgb";
      case Format::eR8G8B8A8Unorm : return "R8G8B8A8Unorm";
      case Format::eR8G8B8A8Snorm : return "R8G8B8A8Snorm";
      case Format::eR8G8B8A8Uscaled : return "R8G8B8A8Uscaled";
      case Format::eR8G8B8A8Sscaled : return "R8G8B8A8Sscaled";
      case Format::eR8G8B8A8Uint : return "R8G8B8A8Uint";
      case Format::eR8G8B8A8Sint : return "R8G8B8A8Sint";
      case Format::eR8G8B8A8Srgb : return "R8G8B8A8Srgb";
      case Format::eB8G8R8A8Unorm : return "B8G8R8A8Unorm";
      case Format::eB8G8R8A8Snorm : return "B8G8R8A8Snorm";
      case Format::eB8G8R8A8Uscaled : return "B8G8R8A8Uscaled";
      case Format::eB8G8R8A8Sscaled : return "B8G8R8A8Sscaled";
      case Format::eB8G8R8A8Uint : return "B8G8R8A8Uint";
      case Format::eB8G8R8A8Sint : return "B8G8R8A8Sint";
      case Format::eB8G8R8A8Srgb : return "B8G8R8A8Srgb";
      case Format::eA8B8G8R8UnormPack32 : return "A8B8G8R8UnormPack32";
      case Format::eA8B8G8R8SnormPack32 : return "A8B8G8R8SnormPack32";
      case Format::eA8B8G8R8UscaledPack32 : return "A8B8G8R8UscaledPack32";
      case Format::eA8B8G8R8SscaledPack32 : return "A8B8G8R8SscaledPack32";
      case Format::eA8B8G8R8UintPack32 : return "A8B8G8R8UintPack32";
      case Format::eA8B8G8R8SintPack32 : return "A8B8G8R8SintPack32";
      case Format::eA8B8G8R8SrgbPack32 : return "A8B8G8R8SrgbPack32";
      case Format::eA2R10G10B10UnormPack32 : return "A2R10G10B10UnormPack32";
      case Format::eA2R10G10B10SnormPack32 : return "A2R10G10B10SnormPack32";
      case Format::eA2R10G10B10UscaledPack32 : return "A2R10G10B10UscaledPack32";
      case Format::eA2R10G10B10SscaledPack32 : return "A2R10G10B10SscaledPack32";
      case Format::eA2R10G10B10UintPack32 : return "A2R10G10B10UintPack32";
      case Format::eA2R10G10B10SintPack32 : return "A2R10G10B10SintPack32";
      case Format::eA2B10G10R10UnormPack32 : return "A2B10G10R10UnormPack32";
      case Format::eA2B10G10R10SnormPack32 : return "A2B10G10R10SnormPack32";
      case Format::eA2B10G10R10UscaledPack32 : return "A2B10G10R10UscaledPack32";
      case Format::eA2B10G10R10SscaledPack32 : return "A2B10G10R10SscaledPack32";
      case Format::eA2B10G10R10UintPack32 : return "A2B10G10R10UintPack32";
      case Format::eA2B10G10R10SintPack32 : return "A2B10G10R10SintPack32";
      case Format::eR16Unorm : return "R16Unorm";
      case Format::eR16Snorm : return "R16Snorm";
      case Format::eR16Uscaled : return "R16Uscaled";
      case Format::eR16Sscaled : return "R16Sscaled";
      case Format::eR16Uint : return "R16Uint";
      case Format::eR16Sint : return "R16Sint";
      case Format::eR16Sfloat : return "R16Sfloat";
      case Format::eR16G16Unorm : return "R16G16Unorm";
      case Format::eR16G16Snorm : return "R16G16Snorm";
      case Format::eR16G16Uscaled : return "R16G16Uscaled";
      case Format::eR16G16Sscaled : return "R16G16Sscaled";
      case Format::eR16G16Uint : return "R16G16Uint";
      case Format::eR16G16Sint : return "R16G16Sint";
      case Format::eR16G16Sfloat : return "R16G16Sfloat";
      case Format::eR16G16B16Unorm : return "R16G16B16Unorm";
      case Format::eR16G16B16Snorm : return "R16G16B16Snorm";
      case Format::eR16G16B16Uscaled : return "R16G16B16Uscaled";
      case Format::eR16G16B16Sscaled : return "R16G16B16Sscaled";
      case Format::eR16G16B16Uint : return "R16G16B16Uint";
      case Format::eR16G16B16Sint : return "R16G16B16Sint";
      case Format::eR16G16B16Sfloat : return "R16G16B16Sfloat";
      case Format::eR16G16B16A16Unorm : return "R16G16B16A16Unorm";
      case Format::eR16G16B16A16Snorm : return "R16G16B16A16Snorm";
      case Format::eR16G16B16A16Uscaled : return "R16G16B16A16Uscaled";
      case Format::eR16G16B16A16Sscaled : return "R16G16B16A16Sscaled";
      case Format::eR16G16B16A16Uint : return "R16G16B16A16Uint";
      case Format::eR16G16B16A16Sint : return "R16G16B16A16Sint";
      case Format::eR16G16B16A16Sfloat : return "R16G16B16A16Sfloat";
      case Format::eR32Uint : return "R32Uint";
      case Format::eR32Sint : return "R32Sint";
      case Format::eR32Sfloat : return "R32Sfloat";
      case Format::eR32G32Uint : return "R32G32Uint";
      case Format::eR32G32Sint : return "R32G32Sint";
      case Format::eR32G32Sfloat : return "R32G32Sfloat";
      case Format::eR32G32B32Uint : return "R32G32B32Uint";
      case Format::eR32G32B32Sint : return "R32G32B32Sint";
      case Format::eR32G32B32Sfloat : return "R32G32B32Sfloat";
      case Format::eR32G32B32A32Uint : return "R32G32B32A32Uint";
      case Format::eR32G32B32A32Sint : return "R32G32B32A32Sint";
      case Format::eR32G32B32A32Sfloat : return "R32G32B32A32Sfloat";
      case Format::eR64Uint : return "R64Uint";
      case Format::eR64Sint : return "R64Sint";
      case Format::eR64Sfloat : return "R64Sfloat";
      case Format::eR64G64Uint : return "R64G64Uint";
      case Format::eR64G64Sint : return "R64G64Sint";
      case Format::eR64G64Sfloat : return "R64G64Sfloat";
      case Format::eR64G64B64Uint : return "R64G64B64Uint";
      case Format::eR64G64B64Sint : return "R64G64B64Sint";
      case Format::eR64G64B64Sfloat : return "R64G64B64Sfloat";
      case Format::eR64G64B64A64Uint : return "R64G64B64A64Uint";
      case Format::eR64G64B64A64Sint : return "R64G64B64A64Sint";
      case Format::eR64G64B64A64Sfloat : return "R64G64B64A64Sfloat";
      case Format::eB10G11R11UfloatPack32 : return "B10G11R11UfloatPack32";
      case Format::eE5B9G9R9UfloatPack32 : return "E5B9G9R9UfloatPack32";
      case Format::eD16Unorm : return "D16Unorm";
      case Format::eX8D24UnormPack32 : return "X8D24UnormPack32";
      case Format::eD32Sfloat : return "D32Sfloat";
      case Format::eS8Uint : return "S8Uint";
      case Format::eD16UnormS8Uint : return "D16UnormS8Uint";
      case Format::eD24UnormS8Uint : return "D24UnormS8Uint";
      case Format::eD32SfloatS8Uint : return "D32SfloatS8Uint";
      case Format::eBc1RgbUnormBlock : return "Bc1RgbUnormBlock";
      case Format::eBc1RgbSrgbBlock : return "Bc1RgbSrgbBlock";
      case Format::eBc1RgbaUnormBlock : return "Bc1RgbaUnormBlock";
      case Format::eBc1RgbaSrgbBlock : return "Bc1RgbaSrgbBlock";
      case Format::eBc2UnormBlock : return "Bc2UnormBlock";
      case Format::eBc2SrgbBlock : return "Bc2SrgbBlock";
      case Format::eBc3UnormBlock : return "Bc3UnormBlock";
      case Format::eBc3SrgbBlock : return "Bc3SrgbBlock";
      case Format::eBc4UnormBlock : return "Bc4UnormBlock";
      case Format::eBc4SnormBlock : return "Bc4SnormBlock";
      case Format::eBc5UnormBlock : return "Bc5UnormBlock";
      case Format::eBc5SnormBlock : return "Bc5SnormBlock";
      case Format::eBc6HUfloatBlock : return "Bc6HUfloatBlock";
      case Format::eBc6HSfloatBlock : return "Bc6HSfloatBlock";
      case Format::eBc7UnormBlock : return "Bc7UnormBlock";
      case Format::eBc7SrgbBlock : return "Bc7SrgbBlock";
      case Format::eEtc2R8G8B8UnormBlock : return "Etc2R8G8B8UnormBlock";
      case Format::eEtc2R8G8B8SrgbBlock : return "Etc2R8G8B8SrgbBlock";
      case Format::eEtc2R8G8B8A1UnormBlock : return "Etc2R8G8B8A1UnormBlock";
      case Format::eEtc2R8G8B8A1SrgbBlock : return "Etc2R8G8B8A1SrgbBlock";
      case Format::eEtc2R8G8B8A8UnormBlock : return "Etc2R8G8B8A8UnormBlock";
      case Format::eEtc2R8G8B8A8SrgbBlock : return "Etc2R8G8B8A8SrgbBlock";
      case Format::eEacR11UnormBlock : return "EacR11UnormBlock";
      case Format::eEacR11SnormBlock : return "EacR11SnormBlock";
      case Format::eEacR11G11UnormBlock : return "EacR11G11UnormBlock";
      case Format::eEacR11G11SnormBlock : return "EacR11G11SnormBlock";
      case Format::eAstc4x4UnormBlock : return "Astc4x4UnormBlock";
      case Format::eAstc4x4SrgbBlock : return "Astc4x4SrgbBlock";
      case Format::eAstc5x4UnormBlock : return "Astc5x4UnormBlock";
      case Format::eAstc5x4SrgbBlock : return "Astc5x4SrgbBlock";
      case Format::eAstc5x5UnormBlock : return "Astc5x5UnormBlock";
      case Format::eAstc5x5SrgbBlock : return "Astc5x5SrgbBlock";
      case Format::eAstc6x5UnormBlock : return "Astc6x5UnormBlock";
      case Format::eAstc6x5SrgbBlock : return "Astc6x5SrgbBlock";
      case Format::eAstc6x6UnormBlock : return "Astc6x6UnormBlock";
      case Format::eAstc6x6SrgbBlock : return "Astc6x6SrgbBlock";
      case Format::eAstc8x5UnormBlock : return "Astc8x5UnormBlock";
      case Format::eAstc8x5SrgbBlock : return "Astc8x5SrgbBlock";
      case Format::eAstc8x6UnormBlock : return "Astc8x6UnormBlock";
      case Format::eAstc8x6SrgbBlock : return "Astc8x6SrgbBlock";
      case Format::eAstc8x8UnormBlock : return "Astc8x8UnormBlock";
      case Format::eAstc8x8SrgbBlock : return "Astc8x8SrgbBlock";
      case Format::eAstc10x5UnormBlock : return "Astc10x5UnormBlock";
      case Format::eAstc10x5SrgbBlock : return "Astc10x5SrgbBlock";
      case Format::eAstc10x6UnormBlock : return "Astc10x6UnormBlock";
      case Format::eAstc10x6SrgbBlock : return "Astc10x6SrgbBlock";
      case Format::eAstc10x8UnormBlock : return "Astc10x8UnormBlock";
      case Format::eAstc10x8SrgbBlock : return "Astc10x8SrgbBlock";
      case Format::eAstc10x10UnormBlock : return "Astc10x10UnormBlock";
      case Format::eAstc10x10SrgbBlock : return "Astc10x10SrgbBlock";
      case Format::eAstc12x10UnormBlock : return "Astc12x10UnormBlock";
      case Format::eAstc12x10SrgbBlock : return "Astc12x10SrgbBlock";
      case Format::eAstc12x12UnormBlock : return "Astc12x12UnormBlock";
      case Format::eAstc12x12SrgbBlock : return "Astc12x12SrgbBlock";
      case Format::eG8B8G8R8422Unorm : return "G8B8G8R8422Unorm";
      case Format::eB8G8R8G8422Unorm : return "B8G8R8G8422Unorm";
      case Format::eG8B8R83Plane420Unorm : return "G8B8R83Plane420Unorm";
      case Format::eG8B8R82Plane420Unorm : return "G8B8R82Plane420Unorm";
      case Format::eG8B8R83Plane422Unorm : return "G8B8R83Plane422Unorm";
      case Format::eG8B8R82Plane422Unorm : return "G8B8R82Plane422Unorm";
      case Format::eG8B8R83Plane444Unorm : return "G8B8R83Plane444Unorm";
      case Format::eR10X6UnormPack16 : return "R10X6UnormPack16";
      case Format::eR10X6G10X6Unorm2Pack16 : return "R10X6G10X6Unorm2Pack16";
      case Format::eR10X6G10X6B10X6A10X6Unorm4Pack16 : return "R10X6G10X6B10X6A10X6Unorm4Pack16";
      case Format::eG10X6B10X6G10X6R10X6422Unorm4Pack16 : return "G10X6B10X6G10X6R10X6422Unorm4Pack16";
      case Format::eB10X6G10X6R10X6G10X6422Unorm4Pack16 : return "B10X6G10X6R10X6G10X6422Unorm4Pack16";
      case Format::eG10X6B10X6R10X63Plane420Unorm3Pack16 : return "G10X6B10X6R10X63Plane420Unorm3Pack16";
      case Format::eG10X6B10X6R10X62Plane420Unorm3Pack16 : return "G10X6B10X6R10X62Plane420Unorm3Pack16";
      case Format::eG10X6B10X6R10X63Plane422Unorm3Pack16 : return "G10X6B10X6R10X63Plane422Unorm3Pack16";
      case Format::eG10X6B10X6R10X62Plane422Unorm3Pack16 : return "G10X6B10X6R10X62Plane422Unorm3Pack16";
      case Format::eG10X6B10X6R10X63Plane444Unorm3Pack16 : return "G10X6B10X6R10X63Plane444Unorm3Pack16";
      case Format::eR12X4UnormPack16 : return "R12X4UnormPack16";
      case Format::eR12X4G12X4Unorm2Pack16 : return "R12X4G12X4Unorm2Pack16";
      case Format::eR12X4G12X4B12X4A12X4Unorm4Pack16 : return "R12X4G12X4B12X4A12X4Unorm4Pack16";
      case Format::eG12X4B12X4G12X4R12X4422Unorm4Pack16 : return "G12X4B12X4G12X4R12X4422Unorm4Pack16";
      case Format::eB12X4G12X4R12X4G12X4422Unorm4Pack16 : return "B12X4G12X4R12X4G12X4422Unorm4Pack16";
      case Format::eG12X4B12X4R12X43Plane420Unorm3Pack16 : return "G12X4B12X4R12X43Plane420Unorm3Pack16";
      case Format::eG12X4B12X4R12X42Plane420Unorm3Pack16 : return "G12X4B12X4R12X42Plane420Unorm3Pack16";
      case Format::eG12X4B12X4R12X43Plane422Unorm3Pack16 : return "G12X4B12X4R12X43Plane422Unorm3Pack16";
      case Format::eG12X4B12X4R12X42Plane422Unorm3Pack16 : return "G12X4B12X4R12X42Plane422Unorm3Pack16";
      case Format::eG12X4B12X4R12X43Plane444Unorm3Pack16 : return "G12X4B12X4R12X43Plane444Unorm3Pack16";
      case Format::eG16B16G16R16422Unorm : return "G16B16G16R16422Unorm";
      case Format::eB16G16R16G16422Unorm : return "B16G16R16G16422Unorm";
      case Format::eG16B16R163Plane420Unorm : return "G16B16R163Plane420Unorm";
      case Format::eG16B16R162Plane420Unorm : return "G16B16R162Plane420Unorm";
      case Format::eG16B16R163Plane422Unorm : return "G16B16R163Plane422Unorm";
      case Format::eG16B16R162Plane422Unorm : return "G16B16R162Plane422Unorm";
      case Format::eG16B16R163Plane444Unorm : return "G16B16R163Plane444Unorm";
      case Format::eG8B8R82Plane444Unorm : return "G8B8R82Plane444Unorm";
      case Format::eG10X6B10X6R10X62Plane444Unorm3Pack16 : return "G10X6B10X6R10X62Plane444Unorm3Pack16";
      case Format::eG12X4B12X4R12X42Plane444Unorm3Pack16 : return "G12X4B12X4R12X42Plane444Unorm3Pack16";
      case Format::eG16B16R162Plane444Unorm : return "G16B16R162Plane444Unorm";
      case Format::eA4R4G4B4UnormPack16 : return "A4R4G4B4UnormPack16";
      case Format::eA4B4G4R4UnormPack16 : return "A4B4G4R4UnormPack16";
      case Format::eAstc4x4SfloatBlock : return "Astc4x4SfloatBlock";
      case Format::eAstc5x4SfloatBlock : return "Astc5x4SfloatBlock";
      case Format::eAstc5x5SfloatBlock : return "Astc5x5SfloatBlock";
      case Format::eAstc6x5SfloatBlock : return "Astc6x5SfloatBlock";
      case Format::eAstc6x6SfloatBlock : return "Astc6x6SfloatBlock";
      case Format::eAstc8x5SfloatBlock : return "Astc8x5SfloatBlock";
      case Format::eAstc8x6SfloatBlock : return "Astc8x6SfloatBlock";
      case Format::eAstc8x8SfloatBlock : return "Astc8x8SfloatBlock";
      case Format::eAstc10x5SfloatBlock : return "Astc10x5SfloatBlock";
      case Format::eAstc10x6SfloatBlock : return "Astc10x6SfloatBlock";
      case Format::eAstc10x8SfloatBlock : return "Astc10x8SfloatBlock";
      case Format::eAstc10x10SfloatBlock : return "Astc10x10SfloatBlock";
      case Format::eAstc12x10SfloatBlock : return "Astc12x10SfloatBlock";
      case Format::eAstc12x12SfloatBlock : return "Astc12x12SfloatBlock";
      case Format::eA1B5G5R5UnormPack16 : return "A1B5G5R5UnormPack16";
      case Format::eA8Unorm : return "A8Unorm";
      case Format::ePvrtc12BppUnormBlockIMG : return "Pvrtc12BppUnormBlockIMG";
      case Format::ePvrtc14BppUnormBlockIMG : return "Pvrtc14BppUnormBlockIMG";
      case Format::ePvrtc22BppUnormBlockIMG : return "Pvrtc22BppUnormBlockIMG";
      case Format::ePvrtc24BppUnormBlockIMG : return "Pvrtc24BppUnormBlockIMG";
      case Format::ePvrtc12BppSrgbBlockIMG : return "Pvrtc12BppSrgbBlockIMG";
      case Format::ePvrtc14BppSrgbBlockIMG : return "Pvrtc14BppSrgbBlockIMG";
      case Format::ePvrtc22BppSrgbBlockIMG : return "Pvrtc22BppSrgbBlockIMG";
      case Format::ePvrtc24BppSrgbBlockIMG : return "Pvrtc24BppSrgbBlockIMG";
      case Format::eR8BoolARM : return "R8BoolARM";
      case Format::eR16G16Sfixed5NV : return "R16G16Sfixed5NV";
      case Format::eR10X6UintPack16ARM : return "R10X6UintPack16ARM";
      case Format::eR10X6G10X6Uint2Pack16ARM : return "R10X6G10X6Uint2Pack16ARM";
      case Format::eR10X6G10X6B10X6A10X6Uint4Pack16ARM : return "R10X6G10X6B10X6A10X6Uint4Pack16ARM";
      case Format::eR12X4UintPack16ARM : return "R12X4UintPack16ARM";
      case Format::eR12X4G12X4Uint2Pack16ARM : return "R12X4G12X4Uint2Pack16ARM";
      case Format::eR12X4G12X4B12X4A12X4Uint4Pack16ARM : return "R12X4G12X4B12X4A12X4Uint4Pack16ARM";
      case Format::eR14X2UintPack16ARM : return "R14X2UintPack16ARM";
      case Format::eR14X2G14X2Uint2Pack16ARM : return "R14X2G14X2Uint2Pack16ARM";
      case Format::eR14X2G14X2B14X2A14X2Uint4Pack16ARM : return "R14X2G14X2B14X2A14X2Uint4Pack16ARM";
      case Format::eR14X2UnormPack16ARM : return "R14X2UnormPack16ARM";
      case Format::eR14X2G14X2Unorm2Pack16ARM : return "R14X2G14X2Unorm2Pack16ARM";
      case Format::eR14X2G14X2B14X2A14X2Unorm4Pack16ARM : return "R14X2G14X2B14X2A14X2Unorm4Pack16ARM";
      case Format::eG14X2B14X2R14X22Plane420Unorm3Pack16ARM : return "G14X2B14X2R14X22Plane420Unorm3Pack16ARM";
      case Format::eG14X2B14X2R14X22Plane422Unorm3Pack16ARM : return "G14X2B14X2R14X22Plane422Unorm3Pack16ARM";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( FormatFeatureFlagBits value )
  {
    switch ( value )
    {
      case FormatFeatureFlagBits::eSampledImage : return "SampledImage";
      case FormatFeatureFlagBits::eStorageImage : return "StorageImage";
      case FormatFeatureFlagBits::eStorageImageAtomic : return "StorageImageAtomic";
      case FormatFeatureFlagBits::eUniformTexelBuffer : return "UniformTexelBuffer";
      case FormatFeatureFlagBits::eStorageTexelBuffer : return "StorageTexelBuffer";
      case FormatFeatureFlagBits::eStorageTexelBufferAtomic : return "StorageTexelBufferAtomic";
      case FormatFeatureFlagBits::eVertexBuffer : return "VertexBuffer";
      case FormatFeatureFlagBits::eColorAttachment : return "ColorAttachment";
      case FormatFeatureFlagBits::eColorAttachmentBlend : return "ColorAttachmentBlend";
      case FormatFeatureFlagBits::eDepthStencilAttachment : return "DepthStencilAttachment";
      case FormatFeatureFlagBits::eBlitSrc : return "BlitSrc";
      case FormatFeatureFlagBits::eBlitDst : return "BlitDst";
      case FormatFeatureFlagBits::eSampledImageFilterLinear : return "SampledImageFilterLinear";
      case FormatFeatureFlagBits::eTransferSrc : return "TransferSrc";
      case FormatFeatureFlagBits::eTransferDst : return "TransferDst";
      case FormatFeatureFlagBits::eMidpointChromaSamples : return "MidpointChromaSamples";
      case FormatFeatureFlagBits::eSampledImageYcbcrConversionLinearFilter : return "SampledImageYcbcrConversionLinearFilter";
      case FormatFeatureFlagBits::eSampledImageYcbcrConversionSeparateReconstructionFilter : return "SampledImageYcbcrConversionSeparateReconstructionFilter";
      case FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicit : return "SampledImageYcbcrConversionChromaReconstructionExplicit";
      case FormatFeatureFlagBits::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable : return "SampledImageYcbcrConversionChromaReconstructionExplicitForceable";
      case FormatFeatureFlagBits::eDisjoint : return "Disjoint";
      case FormatFeatureFlagBits::eCositedChromaSamples : return "CositedChromaSamples";
      case FormatFeatureFlagBits::eSampledImageFilterMinmax : return "SampledImageFilterMinmax";
      case FormatFeatureFlagBits::eVideoDecodeOutputKHR : return "VideoDecodeOutputKHR";
      case FormatFeatureFlagBits::eVideoDecodeDpbKHR : return "VideoDecodeDpbKHR";
      case FormatFeatureFlagBits::eAccelerationStructureVertexBufferKHR : return "AccelerationStructureVertexBufferKHR";
      case FormatFeatureFlagBits::eSampledImageFilterCubicEXT : return "SampledImageFilterCubicEXT";
      case FormatFeatureFlagBits::eFragmentDensityMapEXT : return "FragmentDensityMapEXT";
      case FormatFeatureFlagBits::eFragmentShadingRateAttachmentKHR : return "FragmentShadingRateAttachmentKHR";
      case FormatFeatureFlagBits::eVideoEncodeInputKHR : return "VideoEncodeInputKHR";
      case FormatFeatureFlagBits::eVideoEncodeDpbKHR : return "VideoEncodeDpbKHR";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImageCreateFlagBits value )
  {
    switch ( value )
    {
      case ImageCreateFlagBits::eSparseBinding : return "SparseBinding";
      case ImageCreateFlagBits::eSparseResidency : return "SparseResidency";
      case ImageCreateFlagBits::eSparseAliased : return "SparseAliased";
      case ImageCreateFlagBits::eMutableFormat : return "MutableFormat";
      case ImageCreateFlagBits::eCubeCompatible : return "CubeCompatible";
      case ImageCreateFlagBits::eAlias : return "Alias";
      case ImageCreateFlagBits::eSplitInstanceBindRegions : return "SplitInstanceBindRegions";
      case ImageCreateFlagBits::e2DArrayCompatible : return "2DArrayCompatible";
      case ImageCreateFlagBits::eBlockTexelViewCompatible : return "BlockTexelViewCompatible";
      case ImageCreateFlagBits::eExtendedUsage : return "ExtendedUsage";
      case ImageCreateFlagBits::eProtected : return "Protected";
      case ImageCreateFlagBits::eDisjoint : return "Disjoint";
      case ImageCreateFlagBits::eCornerSampledNV : return "CornerSampledNV";
      case ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT : return "SampleLocationsCompatibleDepthEXT";
      case ImageCreateFlagBits::eSubsampledEXT : return "SubsampledEXT";
      case ImageCreateFlagBits::eDescriptorBufferCaptureReplayEXT : return "DescriptorBufferCaptureReplayEXT";
      case ImageCreateFlagBits::eMultisampledRenderToSingleSampledEXT : return "MultisampledRenderToSingleSampledEXT";
      case ImageCreateFlagBits::e2DViewCompatibleEXT : return "2DViewCompatibleEXT";
      case ImageCreateFlagBits::eVideoProfileIndependentKHR : return "VideoProfileIndependentKHR";
      case ImageCreateFlagBits::eFragmentDensityMapOffsetEXT : return "FragmentDensityMapOffsetEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImageTiling value )
  {
    switch ( value )
    {
      case ImageTiling::eOptimal : return "Optimal";
      case ImageTiling::eLinear : return "Linear";
      case ImageTiling::eDrmFormatModifierEXT : return "DrmFormatModifierEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImageType value )
  {
    switch ( value )
    {
      case ImageType::e1D : return "1D";
      case ImageType::e2D : return "2D";
      case ImageType::e3D : return "3D";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImageUsageFlagBits value )
  {
    switch ( value )
    {
      case ImageUsageFlagBits::eTransferSrc : return "TransferSrc";
      case ImageUsageFlagBits::eTransferDst : return "TransferDst";
      case ImageUsageFlagBits::eSampled : return "Sampled";
      case ImageUsageFlagBits::eStorage : return "Storage";
      case ImageUsageFlagBits::eColorAttachment : return "ColorAttachment";
      case ImageUsageFlagBits::eDepthStencilAttachment : return "DepthStencilAttachment";
      case ImageUsageFlagBits::eTransientAttachment : return "TransientAttachment";
      case ImageUsageFlagBits::eInputAttachment : return "InputAttachment";
      case ImageUsageFlagBits::eHostTransfer : return "HostTransfer";
      case ImageUsageFlagBits::eVideoDecodeDstKHR : return "VideoDecodeDstKHR";
      case ImageUsageFlagBits::eVideoDecodeSrcKHR : return "VideoDecodeSrcKHR";
      case ImageUsageFlagBits::eVideoDecodeDpbKHR : return "VideoDecodeDpbKHR";
      case ImageUsageFlagBits::eFragmentDensityMapEXT : return "FragmentDensityMapEXT";
      case ImageUsageFlagBits::eFragmentShadingRateAttachmentKHR : return "FragmentShadingRateAttachmentKHR";
      case ImageUsageFlagBits::eVideoEncodeDstKHR : return "VideoEncodeDstKHR";
      case ImageUsageFlagBits::eVideoEncodeSrcKHR : return "VideoEncodeSrcKHR";
      case ImageUsageFlagBits::eVideoEncodeDpbKHR : return "VideoEncodeDpbKHR";
      case ImageUsageFlagBits::eAttachmentFeedbackLoopEXT : return "AttachmentFeedbackLoopEXT";
      case ImageUsageFlagBits::eInvocationMaskHUAWEI : return "InvocationMaskHUAWEI";
      case ImageUsageFlagBits::eSampleWeightQCOM : return "SampleWeightQCOM";
      case ImageUsageFlagBits::eSampleBlockMatchQCOM : return "SampleBlockMatchQCOM";
      case ImageUsageFlagBits::eTensorAliasingARM : return "TensorAliasingARM";
      case ImageUsageFlagBits::eTileMemoryQCOM : return "TileMemoryQCOM";
      case ImageUsageFlagBits::eVideoEncodeQuantizationDeltaMapKHR : return "VideoEncodeQuantizationDeltaMapKHR";
      case ImageUsageFlagBits::eVideoEncodeEmphasisMapKHR : return "VideoEncodeEmphasisMapKHR";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( InstanceCreateFlagBits value )
  {
    switch ( value )
    {
      case InstanceCreateFlagBits::eEnumeratePortabilityKHR : return "EnumeratePortabilityKHR";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( InternalAllocationType value )
  {
    switch ( value )
    {
      case InternalAllocationType::eExecutable : return "Executable";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( MemoryHeapFlagBits value )
  {
    switch ( value )
    {
      case MemoryHeapFlagBits::eDeviceLocal : return "DeviceLocal";
      case MemoryHeapFlagBits::eMultiInstance : return "MultiInstance";
      case MemoryHeapFlagBits::eTileMemoryQCOM : return "TileMemoryQCOM";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( MemoryPropertyFlagBits value )
  {
    switch ( value )
    {
      case MemoryPropertyFlagBits::eDeviceLocal : return "DeviceLocal";
      case MemoryPropertyFlagBits::eHostVisible : return "HostVisible";
      case MemoryPropertyFlagBits::eHostCoherent : return "HostCoherent";
      case MemoryPropertyFlagBits::eHostCached : return "HostCached";
      case MemoryPropertyFlagBits::eLazilyAllocated : return "LazilyAllocated";
      case MemoryPropertyFlagBits::eProtected : return "Protected";
      case MemoryPropertyFlagBits::eDeviceCoherentAMD : return "DeviceCoherentAMD";
      case MemoryPropertyFlagBits::eDeviceUncachedAMD : return "DeviceUncachedAMD";
      case MemoryPropertyFlagBits::eRdmaCapableNV : return "RdmaCapableNV";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PhysicalDeviceType value )
  {
    switch ( value )
    {
      case PhysicalDeviceType::eOther : return "Other";
      case PhysicalDeviceType::eIntegratedGpu : return "IntegratedGpu";
      case PhysicalDeviceType::eDiscreteGpu : return "DiscreteGpu";
      case PhysicalDeviceType::eVirtualGpu : return "VirtualGpu";
      case PhysicalDeviceType::eCpu : return "Cpu";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( QueueFlagBits value )
  {
    switch ( value )
    {
      case QueueFlagBits::eGraphics : return "Graphics";
      case QueueFlagBits::eCompute : return "Compute";
      case QueueFlagBits::eTransfer : return "Transfer";
      case QueueFlagBits::eSparseBinding : return "SparseBinding";
      case QueueFlagBits::eProtected : return "Protected";
      case QueueFlagBits::eVideoDecodeKHR : return "VideoDecodeKHR";
      case QueueFlagBits::eVideoEncodeKHR : return "VideoEncodeKHR";
      case QueueFlagBits::eOpticalFlowNV : return "OpticalFlowNV";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SampleCountFlagBits value )
  {
    switch ( value )
    {
      case SampleCountFlagBits::e1 : return "1";
      case SampleCountFlagBits::e2 : return "2";
      case SampleCountFlagBits::e4 : return "4";
      case SampleCountFlagBits::e8 : return "8";
      case SampleCountFlagBits::e16 : return "16";
      case SampleCountFlagBits::e32 : return "32";
      case SampleCountFlagBits::e64 : return "64";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SystemAllocationScope value )
  {
    switch ( value )
    {
      case SystemAllocationScope::eCommand : return "Command";
      case SystemAllocationScope::eObject : return "Object";
      case SystemAllocationScope::eCache : return "Cache";
      case SystemAllocationScope::eDevice : return "Device";
      case SystemAllocationScope::eInstance : return "Instance";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DeviceCreateFlagBits )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DeviceQueueCreateFlagBits value )
  {
    switch ( value )
    {
      case DeviceQueueCreateFlagBits::eProtected : return "Protected";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineStageFlagBits value )
  {
    switch ( value )
    {
      case PipelineStageFlagBits::eTopOfPipe : return "TopOfPipe";
      case PipelineStageFlagBits::eDrawIndirect : return "DrawIndirect";
      case PipelineStageFlagBits::eVertexInput : return "VertexInput";
      case PipelineStageFlagBits::eVertexShader : return "VertexShader";
      case PipelineStageFlagBits::eTessellationControlShader : return "TessellationControlShader";
      case PipelineStageFlagBits::eTessellationEvaluationShader : return "TessellationEvaluationShader";
      case PipelineStageFlagBits::eGeometryShader : return "GeometryShader";
      case PipelineStageFlagBits::eFragmentShader : return "FragmentShader";
      case PipelineStageFlagBits::eEarlyFragmentTests : return "EarlyFragmentTests";
      case PipelineStageFlagBits::eLateFragmentTests : return "LateFragmentTests";
      case PipelineStageFlagBits::eColorAttachmentOutput : return "ColorAttachmentOutput";
      case PipelineStageFlagBits::eComputeShader : return "ComputeShader";
      case PipelineStageFlagBits::eTransfer : return "Transfer";
      case PipelineStageFlagBits::eBottomOfPipe : return "BottomOfPipe";
      case PipelineStageFlagBits::eHost : return "Host";
      case PipelineStageFlagBits::eAllGraphics : return "AllGraphics";
      case PipelineStageFlagBits::eAllCommands : return "AllCommands";
      case PipelineStageFlagBits::eNone : return "None";
      case PipelineStageFlagBits::eTransformFeedbackEXT : return "TransformFeedbackEXT";
      case PipelineStageFlagBits::eConditionalRenderingEXT : return "ConditionalRenderingEXT";
      case PipelineStageFlagBits::eAccelerationStructureBuildKHR : return "AccelerationStructureBuildKHR";
      case PipelineStageFlagBits::eRayTracingShaderKHR : return "RayTracingShaderKHR";
      case PipelineStageFlagBits::eFragmentDensityProcessEXT : return "FragmentDensityProcessEXT";
      case PipelineStageFlagBits::eFragmentShadingRateAttachmentKHR : return "FragmentShadingRateAttachmentKHR";
      case PipelineStageFlagBits::eTaskShaderEXT : return "TaskShaderEXT";
      case PipelineStageFlagBits::eMeshShaderEXT : return "MeshShaderEXT";
      case PipelineStageFlagBits::eCommandPreprocessEXT : return "CommandPreprocessEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( MemoryMapFlagBits value )
  {
    switch ( value )
    {
      case MemoryMapFlagBits::ePlacedEXT : return "PlacedEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImageAspectFlagBits value )
  {
    switch ( value )
    {
      case ImageAspectFlagBits::eColor : return "Color";
      case ImageAspectFlagBits::eDepth : return "Depth";
      case ImageAspectFlagBits::eStencil : return "Stencil";
      case ImageAspectFlagBits::eMetadata : return "Metadata";
      case ImageAspectFlagBits::ePlane0 : return "Plane0";
      case ImageAspectFlagBits::ePlane1 : return "Plane1";
      case ImageAspectFlagBits::ePlane2 : return "Plane2";
      case ImageAspectFlagBits::eNone : return "None";
      case ImageAspectFlagBits::eMemoryPlane0EXT : return "MemoryPlane0EXT";
      case ImageAspectFlagBits::eMemoryPlane1EXT : return "MemoryPlane1EXT";
      case ImageAspectFlagBits::eMemoryPlane2EXT : return "MemoryPlane2EXT";
      case ImageAspectFlagBits::eMemoryPlane3EXT : return "MemoryPlane3EXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SparseImageFormatFlagBits value )
  {
    switch ( value )
    {
      case SparseImageFormatFlagBits::eSingleMiptail : return "SingleMiptail";
      case SparseImageFormatFlagBits::eAlignedMipSize : return "AlignedMipSize";
      case SparseImageFormatFlagBits::eNonstandardBlockSize : return "NonstandardBlockSize";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SparseMemoryBindFlagBits value )
  {
    switch ( value )
    {
      case SparseMemoryBindFlagBits::eMetadata : return "Metadata";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( FenceCreateFlagBits value )
  {
    switch ( value )
    {
      case FenceCreateFlagBits::eSignaled : return "Signaled";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SemaphoreCreateFlagBits )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( EventCreateFlagBits value )
  {
    switch ( value )
    {
      case EventCreateFlagBits::eDeviceOnly : return "DeviceOnly";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( QueryPipelineStatisticFlagBits value )
  {
    switch ( value )
    {
      case QueryPipelineStatisticFlagBits::eInputAssemblyVertices : return "InputAssemblyVertices";
      case QueryPipelineStatisticFlagBits::eInputAssemblyPrimitives : return "InputAssemblyPrimitives";
      case QueryPipelineStatisticFlagBits::eVertexShaderInvocations : return "VertexShaderInvocations";
      case QueryPipelineStatisticFlagBits::eGeometryShaderInvocations : return "GeometryShaderInvocations";
      case QueryPipelineStatisticFlagBits::eGeometryShaderPrimitives : return "GeometryShaderPrimitives";
      case QueryPipelineStatisticFlagBits::eClippingInvocations : return "ClippingInvocations";
      case QueryPipelineStatisticFlagBits::eClippingPrimitives : return "ClippingPrimitives";
      case QueryPipelineStatisticFlagBits::eFragmentShaderInvocations : return "FragmentShaderInvocations";
      case QueryPipelineStatisticFlagBits::eTessellationControlShaderPatches : return "TessellationControlShaderPatches";
      case QueryPipelineStatisticFlagBits::eTessellationEvaluationShaderInvocations : return "TessellationEvaluationShaderInvocations";
      case QueryPipelineStatisticFlagBits::eComputeShaderInvocations : return "ComputeShaderInvocations";
      case QueryPipelineStatisticFlagBits::eTaskShaderInvocationsEXT : return "TaskShaderInvocationsEXT";
      case QueryPipelineStatisticFlagBits::eMeshShaderInvocationsEXT : return "MeshShaderInvocationsEXT";
      case QueryPipelineStatisticFlagBits::eClusterCullingShaderInvocationsHUAWEI : return "ClusterCullingShaderInvocationsHUAWEI";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( QueryPoolCreateFlagBits value )
  {
    switch ( value )
    {
      case QueryPoolCreateFlagBits::eResetKHR : return "ResetKHR";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( QueryResultFlagBits value )
  {
    switch ( value )
    {
      case QueryResultFlagBits::e64 : return "64";
      case QueryResultFlagBits::eWait : return "Wait";
      case QueryResultFlagBits::eWithAvailability : return "WithAvailability";
      case QueryResultFlagBits::ePartial : return "Partial";
      case QueryResultFlagBits::eWithStatusKHR : return "WithStatusKHR";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( QueryType value )
  {
    switch ( value )
    {
      case QueryType::eOcclusion : return "Occlusion";
      case QueryType::ePipelineStatistics : return "PipelineStatistics";
      case QueryType::eTimestamp : return "Timestamp";
      case QueryType::eResultStatusOnlyKHR : return "ResultStatusOnlyKHR";
      case QueryType::eTransformFeedbackStreamEXT : return "TransformFeedbackStreamEXT";
      case QueryType::ePerformanceQueryKHR : return "PerformanceQueryKHR";
      case QueryType::eAccelerationStructureCompactedSizeKHR : return "AccelerationStructureCompactedSizeKHR";
      case QueryType::eAccelerationStructureSerializationSizeKHR : return "AccelerationStructureSerializationSizeKHR";
      case QueryType::eAccelerationStructureCompactedSizeNV : return "AccelerationStructureCompactedSizeNV";
      case QueryType::ePerformanceQueryINTEL : return "PerformanceQueryINTEL";
      case QueryType::eVideoEncodeFeedbackKHR : return "VideoEncodeFeedbackKHR";
      case QueryType::eMeshPrimitivesGeneratedEXT : return "MeshPrimitivesGeneratedEXT";
      case QueryType::ePrimitivesGeneratedEXT : return "PrimitivesGeneratedEXT";
      case QueryType::eAccelerationStructureSerializationBottomLevelPointersKHR : return "AccelerationStructureSerializationBottomLevelPointersKHR";
      case QueryType::eAccelerationStructureSizeKHR : return "AccelerationStructureSizeKHR";
      case QueryType::eMicromapSerializationSizeEXT : return "MicromapSerializationSizeEXT";
      case QueryType::eMicromapCompactedSizeEXT : return "MicromapCompactedSizeEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( BufferCreateFlagBits value )
  {
    switch ( value )
    {
      case BufferCreateFlagBits::eSparseBinding : return "SparseBinding";
      case BufferCreateFlagBits::eSparseResidency : return "SparseResidency";
      case BufferCreateFlagBits::eSparseAliased : return "SparseAliased";
      case BufferCreateFlagBits::eProtected : return "Protected";
      case BufferCreateFlagBits::eDeviceAddressCaptureReplay : return "DeviceAddressCaptureReplay";
      case BufferCreateFlagBits::eDescriptorBufferCaptureReplayEXT : return "DescriptorBufferCaptureReplayEXT";
      case BufferCreateFlagBits::eVideoProfileIndependentKHR : return "VideoProfileIndependentKHR";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( BufferUsageFlagBits value )
  {
    switch ( value )
    {
      case BufferUsageFlagBits::eTransferSrc : return "TransferSrc";
      case BufferUsageFlagBits::eTransferDst : return "TransferDst";
      case BufferUsageFlagBits::eUniformTexelBuffer : return "UniformTexelBuffer";
      case BufferUsageFlagBits::eStorageTexelBuffer : return "StorageTexelBuffer";
      case BufferUsageFlagBits::eUniformBuffer : return "UniformBuffer";
      case BufferUsageFlagBits::eStorageBuffer : return "StorageBuffer";
      case BufferUsageFlagBits::eIndexBuffer : return "IndexBuffer";
      case BufferUsageFlagBits::eVertexBuffer : return "VertexBuffer";
      case BufferUsageFlagBits::eIndirectBuffer : return "IndirectBuffer";
      case BufferUsageFlagBits::eShaderDeviceAddress : return "ShaderDeviceAddress";
      case BufferUsageFlagBits::eVideoDecodeSrcKHR : return "VideoDecodeSrcKHR";
      case BufferUsageFlagBits::eVideoDecodeDstKHR : return "VideoDecodeDstKHR";
      case BufferUsageFlagBits::eTransformFeedbackBufferEXT : return "TransformFeedbackBufferEXT";
      case BufferUsageFlagBits::eTransformFeedbackCounterBufferEXT : return "TransformFeedbackCounterBufferEXT";
      case BufferUsageFlagBits::eConditionalRenderingEXT : return "ConditionalRenderingEXT";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
      case BufferUsageFlagBits::eExecutionGraphScratchAMDX : return "ExecutionGraphScratchAMDX";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
      case BufferUsageFlagBits::eAccelerationStructureBuildInputReadOnlyKHR : return "AccelerationStructureBuildInputReadOnlyKHR";
      case BufferUsageFlagBits::eAccelerationStructureStorageKHR : return "AccelerationStructureStorageKHR";
      case BufferUsageFlagBits::eShaderBindingTableKHR : return "ShaderBindingTableKHR";
      case BufferUsageFlagBits::eVideoEncodeDstKHR : return "VideoEncodeDstKHR";
      case BufferUsageFlagBits::eVideoEncodeSrcKHR : return "VideoEncodeSrcKHR";
      case BufferUsageFlagBits::eSamplerDescriptorBufferEXT : return "SamplerDescriptorBufferEXT";
      case BufferUsageFlagBits::eResourceDescriptorBufferEXT : return "ResourceDescriptorBufferEXT";
      case BufferUsageFlagBits::ePushDescriptorsDescriptorBufferEXT : return "PushDescriptorsDescriptorBufferEXT";
      case BufferUsageFlagBits::eMicromapBuildInputReadOnlyEXT : return "MicromapBuildInputReadOnlyEXT";
      case BufferUsageFlagBits::eMicromapStorageEXT : return "MicromapStorageEXT";
      case BufferUsageFlagBits::eTileMemoryQCOM : return "TileMemoryQCOM";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SharingMode value )
  {
    switch ( value )
    {
      case SharingMode::eExclusive : return "Exclusive";
      case SharingMode::eConcurrent : return "Concurrent";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( BufferViewCreateFlagBits )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImageLayout value )
  {
    switch ( value )
    {
      case ImageLayout::eUndefined : return "Undefined";
      case ImageLayout::eGeneral : return "General";
      case ImageLayout::eColorAttachmentOptimal : return "ColorAttachmentOptimal";
      case ImageLayout::eDepthStencilAttachmentOptimal : return "DepthStencilAttachmentOptimal";
      case ImageLayout::eDepthStencilReadOnlyOptimal : return "DepthStencilReadOnlyOptimal";
      case ImageLayout::eShaderReadOnlyOptimal : return "ShaderReadOnlyOptimal";
      case ImageLayout::eTransferSrcOptimal : return "TransferSrcOptimal";
      case ImageLayout::eTransferDstOptimal : return "TransferDstOptimal";
      case ImageLayout::ePreinitialized : return "Preinitialized";
      case ImageLayout::eDepthReadOnlyStencilAttachmentOptimal : return "DepthReadOnlyStencilAttachmentOptimal";
      case ImageLayout::eDepthAttachmentStencilReadOnlyOptimal : return "DepthAttachmentStencilReadOnlyOptimal";
      case ImageLayout::eDepthAttachmentOptimal : return "DepthAttachmentOptimal";
      case ImageLayout::eDepthReadOnlyOptimal : return "DepthReadOnlyOptimal";
      case ImageLayout::eStencilAttachmentOptimal : return "StencilAttachmentOptimal";
      case ImageLayout::eStencilReadOnlyOptimal : return "StencilReadOnlyOptimal";
      case ImageLayout::eReadOnlyOptimal : return "ReadOnlyOptimal";
      case ImageLayout::eAttachmentOptimal : return "AttachmentOptimal";
      case ImageLayout::eRenderingLocalRead : return "RenderingLocalRead";
      case ImageLayout::ePresentSrcKHR : return "PresentSrcKHR";
      case ImageLayout::eVideoDecodeDstKHR : return "VideoDecodeDstKHR";
      case ImageLayout::eVideoDecodeSrcKHR : return "VideoDecodeSrcKHR";
      case ImageLayout::eVideoDecodeDpbKHR : return "VideoDecodeDpbKHR";
      case ImageLayout::eSharedPresentKHR : return "SharedPresentKHR";
      case ImageLayout::eFragmentDensityMapOptimalEXT : return "FragmentDensityMapOptimalEXT";
      case ImageLayout::eFragmentShadingRateAttachmentOptimalKHR : return "FragmentShadingRateAttachmentOptimalKHR";
      case ImageLayout::eVideoEncodeDstKHR : return "VideoEncodeDstKHR";
      case ImageLayout::eVideoEncodeSrcKHR : return "VideoEncodeSrcKHR";
      case ImageLayout::eVideoEncodeDpbKHR : return "VideoEncodeDpbKHR";
      case ImageLayout::eAttachmentFeedbackLoopOptimalEXT : return "AttachmentFeedbackLoopOptimalEXT";
      case ImageLayout::eTensorAliasingARM : return "TensorAliasingARM";
      case ImageLayout::eVideoEncodeQuantizationMapKHR : return "VideoEncodeQuantizationMapKHR";
      case ImageLayout::eZeroInitializedEXT : return "ZeroInitializedEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ComponentSwizzle value )
  {
    switch ( value )
    {
      case ComponentSwizzle::eIdentity : return "Identity";
      case ComponentSwizzle::eZero : return "Zero";
      case ComponentSwizzle::eOne : return "One";
      case ComponentSwizzle::eR : return "R";
      case ComponentSwizzle::eG : return "G";
      case ComponentSwizzle::eB : return "B";
      case ComponentSwizzle::eA : return "A";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImageViewCreateFlagBits value )
  {
    switch ( value )
    {
      case ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT : return "FragmentDensityMapDynamicEXT";
      case ImageViewCreateFlagBits::eDescriptorBufferCaptureReplayEXT : return "DescriptorBufferCaptureReplayEXT";
      case ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT : return "FragmentDensityMapDeferredEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImageViewType value )
  {
    switch ( value )
    {
      case ImageViewType::e1D : return "1D";
      case ImageViewType::e2D : return "2D";
      case ImageViewType::e3D : return "3D";
      case ImageViewType::eCube : return "Cube";
      case ImageViewType::e1DArray : return "1DArray";
      case ImageViewType::e2DArray : return "2DArray";
      case ImageViewType::eCubeArray : return "CubeArray";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ShaderModuleCreateFlagBits )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineCacheCreateFlagBits value )
  {
    switch ( value )
    {
      case PipelineCacheCreateFlagBits::eExternallySynchronized : return "ExternallySynchronized";
      case PipelineCacheCreateFlagBits::eInternallySynchronizedMergeKHR : return "InternallySynchronizedMergeKHR";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( BlendFactor value )
  {
    switch ( value )
    {
      case BlendFactor::eZero : return "Zero";
      case BlendFactor::eOne : return "One";
      case BlendFactor::eSrcColor : return "SrcColor";
      case BlendFactor::eOneMinusSrcColor : return "OneMinusSrcColor";
      case BlendFactor::eDstColor : return "DstColor";
      case BlendFactor::eOneMinusDstColor : return "OneMinusDstColor";
      case BlendFactor::eSrcAlpha : return "SrcAlpha";
      case BlendFactor::eOneMinusSrcAlpha : return "OneMinusSrcAlpha";
      case BlendFactor::eDstAlpha : return "DstAlpha";
      case BlendFactor::eOneMinusDstAlpha : return "OneMinusDstAlpha";
      case BlendFactor::eConstantColor : return "ConstantColor";
      case BlendFactor::eOneMinusConstantColor : return "OneMinusConstantColor";
      case BlendFactor::eConstantAlpha : return "ConstantAlpha";
      case BlendFactor::eOneMinusConstantAlpha : return "OneMinusConstantAlpha";
      case BlendFactor::eSrcAlphaSaturate : return "SrcAlphaSaturate";
      case BlendFactor::eSrc1Color : return "Src1Color";
      case BlendFactor::eOneMinusSrc1Color : return "OneMinusSrc1Color";
      case BlendFactor::eSrc1Alpha : return "Src1Alpha";
      case BlendFactor::eOneMinusSrc1Alpha : return "OneMinusSrc1Alpha";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( BlendOp value )
  {
    switch ( value )
    {
      case BlendOp::eAdd : return "Add";
      case BlendOp::eSubtract : return "Subtract";
      case BlendOp::eReverseSubtract : return "ReverseSubtract";
      case BlendOp::eMin : return "Min";
      case BlendOp::eMax : return "Max";
      case BlendOp::eZeroEXT : return "ZeroEXT";
      case BlendOp::eSrcEXT : return "SrcEXT";
      case BlendOp::eDstEXT : return "DstEXT";
      case BlendOp::eSrcOverEXT : return "SrcOverEXT";
      case BlendOp::eDstOverEXT : return "DstOverEXT";
      case BlendOp::eSrcInEXT : return "SrcInEXT";
      case BlendOp::eDstInEXT : return "DstInEXT";
      case BlendOp::eSrcOutEXT : return "SrcOutEXT";
      case BlendOp::eDstOutEXT : return "DstOutEXT";
      case BlendOp::eSrcAtopEXT : return "SrcAtopEXT";
      case BlendOp::eDstAtopEXT : return "DstAtopEXT";
      case BlendOp::eXorEXT : return "XorEXT";
      case BlendOp::eMultiplyEXT : return "MultiplyEXT";
      case BlendOp::eScreenEXT : return "ScreenEXT";
      case BlendOp::eOverlayEXT : return "OverlayEXT";
      case BlendOp::eDarkenEXT : return "DarkenEXT";
      case BlendOp::eLightenEXT : return "LightenEXT";
      case BlendOp::eColordodgeEXT : return "ColordodgeEXT";
      case BlendOp::eColorburnEXT : return "ColorburnEXT";
      case BlendOp::eHardlightEXT : return "HardlightEXT";
      case BlendOp::eSoftlightEXT : return "SoftlightEXT";
      case BlendOp::eDifferenceEXT : return "DifferenceEXT";
      case BlendOp::eExclusionEXT : return "ExclusionEXT";
      case BlendOp::eInvertEXT : return "InvertEXT";
      case BlendOp::eInvertRgbEXT : return "InvertRgbEXT";
      case BlendOp::eLineardodgeEXT : return "LineardodgeEXT";
      case BlendOp::eLinearburnEXT : return "LinearburnEXT";
      case BlendOp::eVividlightEXT : return "VividlightEXT";
      case BlendOp::eLinearlightEXT : return "LinearlightEXT";
      case BlendOp::ePinlightEXT : return "PinlightEXT";
      case BlendOp::eHardmixEXT : return "HardmixEXT";
      case BlendOp::eHslHueEXT : return "HslHueEXT";
      case BlendOp::eHslSaturationEXT : return "HslSaturationEXT";
      case BlendOp::eHslColorEXT : return "HslColorEXT";
      case BlendOp::eHslLuminosityEXT : return "HslLuminosityEXT";
      case BlendOp::ePlusEXT : return "PlusEXT";
      case BlendOp::ePlusClampedEXT : return "PlusClampedEXT";
      case BlendOp::ePlusClampedAlphaEXT : return "PlusClampedAlphaEXT";
      case BlendOp::ePlusDarkerEXT : return "PlusDarkerEXT";
      case BlendOp::eMinusEXT : return "MinusEXT";
      case BlendOp::eMinusClampedEXT : return "MinusClampedEXT";
      case BlendOp::eContrastEXT : return "ContrastEXT";
      case BlendOp::eInvertOvgEXT : return "InvertOvgEXT";
      case BlendOp::eRedEXT : return "RedEXT";
      case BlendOp::eGreenEXT : return "GreenEXT";
      case BlendOp::eBlueEXT : return "BlueEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ColorComponentFlagBits value )
  {
    switch ( value )
    {
      case ColorComponentFlagBits::eR : return "R";
      case ColorComponentFlagBits::eG : return "G";
      case ColorComponentFlagBits::eB : return "B";
      case ColorComponentFlagBits::eA : return "A";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CompareOp value )
  {
    switch ( value )
    {
      case CompareOp::eNever : return "Never";
      case CompareOp::eLess : return "Less";
      case CompareOp::eEqual : return "Equal";
      case CompareOp::eLessOrEqual : return "LessOrEqual";
      case CompareOp::eGreater : return "Greater";
      case CompareOp::eNotEqual : return "NotEqual";
      case CompareOp::eGreaterOrEqual : return "GreaterOrEqual";
      case CompareOp::eAlways : return "Always";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CullModeFlagBits value )
  {
    switch ( value )
    {
      case CullModeFlagBits::eNone : return "None";
      case CullModeFlagBits::eFront : return "Front";
      case CullModeFlagBits::eBack : return "Back";
      case CullModeFlagBits::eFrontAndBack : return "FrontAndBack";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DynamicState value )
  {
    switch ( value )
    {
      case DynamicState::eViewport : return "Viewport";
      case DynamicState::eScissor : return "Scissor";
      case DynamicState::eLineWidth : return "LineWidth";
      case DynamicState::eDepthBias : return "DepthBias";
      case DynamicState::eBlendConstants : return "BlendConstants";
      case DynamicState::eDepthBounds : return "DepthBounds";
      case DynamicState::eStencilCompareMask : return "StencilCompareMask";
      case DynamicState::eStencilWriteMask : return "StencilWriteMask";
      case DynamicState::eStencilReference : return "StencilReference";
      case DynamicState::eCullMode : return "CullMode";
      case DynamicState::eFrontFace : return "FrontFace";
      case DynamicState::ePrimitiveTopology : return "PrimitiveTopology";
      case DynamicState::eViewportWithCount : return "ViewportWithCount";
      case DynamicState::eScissorWithCount : return "ScissorWithCount";
      case DynamicState::eVertexInputBindingStride : return "VertexInputBindingStride";
      case DynamicState::eDepthTestEnable : return "DepthTestEnable";
      case DynamicState::eDepthWriteEnable : return "DepthWriteEnable";
      case DynamicState::eDepthCompareOp : return "DepthCompareOp";
      case DynamicState::eDepthBoundsTestEnable : return "DepthBoundsTestEnable";
      case DynamicState::eStencilTestEnable : return "StencilTestEnable";
      case DynamicState::eStencilOp : return "StencilOp";
      case DynamicState::eRasterizerDiscardEnable : return "RasterizerDiscardEnable";
      case DynamicState::eDepthBiasEnable : return "DepthBiasEnable";
      case DynamicState::ePrimitiveRestartEnable : return "PrimitiveRestartEnable";
      case DynamicState::eLineStipple : return "LineStipple";
      case DynamicState::eViewportWScalingNV : return "ViewportWScalingNV";
      case DynamicState::eDiscardRectangleEXT : return "DiscardRectangleEXT";
      case DynamicState::eDiscardRectangleEnableEXT : return "DiscardRectangleEnableEXT";
      case DynamicState::eDiscardRectangleModeEXT : return "DiscardRectangleModeEXT";
      case DynamicState::eSampleLocationsEXT : return "SampleLocationsEXT";
      case DynamicState::eRayTracingPipelineStackSizeKHR : return "RayTracingPipelineStackSizeKHR";
      case DynamicState::eViewportShadingRatePaletteNV : return "ViewportShadingRatePaletteNV";
      case DynamicState::eViewportCoarseSampleOrderNV : return "ViewportCoarseSampleOrderNV";
      case DynamicState::eExclusiveScissorEnableNV : return "ExclusiveScissorEnableNV";
      case DynamicState::eExclusiveScissorNV : return "ExclusiveScissorNV";
      case DynamicState::eFragmentShadingRateKHR : return "FragmentShadingRateKHR";
      case DynamicState::eVertexInputEXT : return "VertexInputEXT";
      case DynamicState::ePatchControlPointsEXT : return "PatchControlPointsEXT";
      case DynamicState::eLogicOpEXT : return "LogicOpEXT";
      case DynamicState::eColorWriteEnableEXT : return "ColorWriteEnableEXT";
      case DynamicState::eDepthClampEnableEXT : return "DepthClampEnableEXT";
      case DynamicState::ePolygonModeEXT : return "PolygonModeEXT";
      case DynamicState::eRasterizationSamplesEXT : return "RasterizationSamplesEXT";
      case DynamicState::eSampleMaskEXT : return "SampleMaskEXT";
      case DynamicState::eAlphaToCoverageEnableEXT : return "AlphaToCoverageEnableEXT";
      case DynamicState::eAlphaToOneEnableEXT : return "AlphaToOneEnableEXT";
      case DynamicState::eLogicOpEnableEXT : return "LogicOpEnableEXT";
      case DynamicState::eColorBlendEnableEXT : return "ColorBlendEnableEXT";
      case DynamicState::eColorBlendEquationEXT : return "ColorBlendEquationEXT";
      case DynamicState::eColorWriteMaskEXT : return "ColorWriteMaskEXT";
      case DynamicState::eTessellationDomainOriginEXT : return "TessellationDomainOriginEXT";
      case DynamicState::eRasterizationStreamEXT : return "RasterizationStreamEXT";
      case DynamicState::eConservativeRasterizationModeEXT : return "ConservativeRasterizationModeEXT";
      case DynamicState::eExtraPrimitiveOverestimationSizeEXT : return "ExtraPrimitiveOverestimationSizeEXT";
      case DynamicState::eDepthClipEnableEXT : return "DepthClipEnableEXT";
      case DynamicState::eSampleLocationsEnableEXT : return "SampleLocationsEnableEXT";
      case DynamicState::eColorBlendAdvancedEXT : return "ColorBlendAdvancedEXT";
      case DynamicState::eProvokingVertexModeEXT : return "ProvokingVertexModeEXT";
      case DynamicState::eLineRasterizationModeEXT : return "LineRasterizationModeEXT";
      case DynamicState::eLineStippleEnableEXT : return "LineStippleEnableEXT";
      case DynamicState::eDepthClipNegativeOneToOneEXT : return "DepthClipNegativeOneToOneEXT";
      case DynamicState::eViewportWScalingEnableNV : return "ViewportWScalingEnableNV";
      case DynamicState::eViewportSwizzleNV : return "ViewportSwizzleNV";
      case DynamicState::eCoverageToColorEnableNV : return "CoverageToColorEnableNV";
      case DynamicState::eCoverageToColorLocationNV : return "CoverageToColorLocationNV";
      case DynamicState::eCoverageModulationModeNV : return "CoverageModulationModeNV";
      case DynamicState::eCoverageModulationTableEnableNV : return "CoverageModulationTableEnableNV";
      case DynamicState::eCoverageModulationTableNV : return "CoverageModulationTableNV";
      case DynamicState::eShadingRateImageEnableNV : return "ShadingRateImageEnableNV";
      case DynamicState::eRepresentativeFragmentTestEnableNV : return "RepresentativeFragmentTestEnableNV";
      case DynamicState::eCoverageReductionModeNV : return "CoverageReductionModeNV";
      case DynamicState::eAttachmentFeedbackLoopEnableEXT : return "AttachmentFeedbackLoopEnableEXT";
      case DynamicState::eDepthClampRangeEXT : return "DepthClampRangeEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( FrontFace value )
  {
    switch ( value )
    {
      case FrontFace::eCounterClockwise : return "CounterClockwise";
      case FrontFace::eClockwise : return "Clockwise";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( LogicOp value )
  {
    switch ( value )
    {
      case LogicOp::eClear : return "Clear";
      case LogicOp::eAnd : return "And";
      case LogicOp::eAndReverse : return "AndReverse";
      case LogicOp::eCopy : return "Copy";
      case LogicOp::eAndInverted : return "AndInverted";
      case LogicOp::eNoOp : return "NoOp";
      case LogicOp::eXor : return "Xor";
      case LogicOp::eOr : return "Or";
      case LogicOp::eNor : return "Nor";
      case LogicOp::eEquivalent : return "Equivalent";
      case LogicOp::eInvert : return "Invert";
      case LogicOp::eOrReverse : return "OrReverse";
      case LogicOp::eCopyInverted : return "CopyInverted";
      case LogicOp::eOrInverted : return "OrInverted";
      case LogicOp::eNand : return "Nand";
      case LogicOp::eSet : return "Set";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineCreateFlagBits value )
  {
    switch ( value )
    {
      case PipelineCreateFlagBits::eDisableOptimization : return "DisableOptimization";
      case PipelineCreateFlagBits::eAllowDerivatives : return "AllowDerivatives";
      case PipelineCreateFlagBits::eDerivative : return "Derivative";
      case PipelineCreateFlagBits::eViewIndexFromDeviceIndex : return "ViewIndexFromDeviceIndex";
      case PipelineCreateFlagBits::eDispatchBase : return "DispatchBase";
      case PipelineCreateFlagBits::eFailOnPipelineCompileRequired : return "FailOnPipelineCompileRequired";
      case PipelineCreateFlagBits::eEarlyReturnOnFailure : return "EarlyReturnOnFailure";
      case PipelineCreateFlagBits::eNoProtectedAccess : return "NoProtectedAccess";
      case PipelineCreateFlagBits::eProtectedAccessOnly : return "ProtectedAccessOnly";
      case PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR : return "RayTracingNoNullAnyHitShadersKHR";
      case PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR : return "RayTracingNoNullClosestHitShadersKHR";
      case PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR : return "RayTracingNoNullMissShadersKHR";
      case PipelineCreateFlagBits::eRayTracingNoNullIntersectionShadersKHR : return "RayTracingNoNullIntersectionShadersKHR";
      case PipelineCreateFlagBits::eRayTracingSkipTrianglesKHR : return "RayTracingSkipTrianglesKHR";
      case PipelineCreateFlagBits::eRayTracingSkipAabbsKHR : return "RayTracingSkipAabbsKHR";
      case PipelineCreateFlagBits::eRayTracingShaderGroupHandleCaptureReplayKHR : return "RayTracingShaderGroupHandleCaptureReplayKHR";
      case PipelineCreateFlagBits::eDeferCompileNV : return "DeferCompileNV";
      case PipelineCreateFlagBits::eRenderingFragmentDensityMapAttachmentEXT : return "RenderingFragmentDensityMapAttachmentEXT";
      case PipelineCreateFlagBits::eRenderingFragmentShadingRateAttachmentKHR : return "RenderingFragmentShadingRateAttachmentKHR";
      case PipelineCreateFlagBits::eCaptureStatisticsKHR : return "CaptureStatisticsKHR";
      case PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR : return "CaptureInternalRepresentationsKHR";
      case PipelineCreateFlagBits::eIndirectBindableNV : return "IndirectBindableNV";
      case PipelineCreateFlagBits::eLibraryKHR : return "LibraryKHR";
      case PipelineCreateFlagBits::eDescriptorBufferEXT : return "DescriptorBufferEXT";
      case PipelineCreateFlagBits::eRetainLinkTimeOptimizationInfoEXT : return "RetainLinkTimeOptimizationInfoEXT";
      case PipelineCreateFlagBits::eLinkTimeOptimizationEXT : return "LinkTimeOptimizationEXT";
      case PipelineCreateFlagBits::eRayTracingAllowMotionNV : return "RayTracingAllowMotionNV";
      case PipelineCreateFlagBits::eColorAttachmentFeedbackLoopEXT : return "ColorAttachmentFeedbackLoopEXT";
      case PipelineCreateFlagBits::eDepthStencilAttachmentFeedbackLoopEXT : return "DepthStencilAttachmentFeedbackLoopEXT";
      case PipelineCreateFlagBits::eRayTracingOpacityMicromapEXT : return "RayTracingOpacityMicromapEXT";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
      case PipelineCreateFlagBits::eRayTracingDisplacementMicromapNV : return "RayTracingDisplacementMicromapNV";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineShaderStageCreateFlagBits value )
  {
    switch ( value )
    {
      case PipelineShaderStageCreateFlagBits::eAllowVaryingSubgroupSize : return "AllowVaryingSubgroupSize";
      case PipelineShaderStageCreateFlagBits::eRequireFullSubgroups : return "RequireFullSubgroups";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PolygonMode value )
  {
    switch ( value )
    {
      case PolygonMode::eFill : return "Fill";
      case PolygonMode::eLine : return "Line";
      case PolygonMode::ePoint : return "Point";
      case PolygonMode::eFillRectangleNV : return "FillRectangleNV";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PrimitiveTopology value )
  {
    switch ( value )
    {
      case PrimitiveTopology::ePointList : return "PointList";
      case PrimitiveTopology::eLineList : return "LineList";
      case PrimitiveTopology::eLineStrip : return "LineStrip";
      case PrimitiveTopology::eTriangleList : return "TriangleList";
      case PrimitiveTopology::eTriangleStrip : return "TriangleStrip";
      case PrimitiveTopology::eTriangleFan : return "TriangleFan";
      case PrimitiveTopology::eLineListWithAdjacency : return "LineListWithAdjacency";
      case PrimitiveTopology::eLineStripWithAdjacency : return "LineStripWithAdjacency";
      case PrimitiveTopology::eTriangleListWithAdjacency : return "TriangleListWithAdjacency";
      case PrimitiveTopology::eTriangleStripWithAdjacency : return "TriangleStripWithAdjacency";
      case PrimitiveTopology::ePatchList : return "PatchList";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ShaderStageFlagBits value )
  {
    switch ( value )
    {
      case ShaderStageFlagBits::eVertex : return "Vertex";
      case ShaderStageFlagBits::eTessellationControl : return "TessellationControl";
      case ShaderStageFlagBits::eTessellationEvaluation : return "TessellationEvaluation";
      case ShaderStageFlagBits::eGeometry : return "Geometry";
      case ShaderStageFlagBits::eFragment : return "Fragment";
      case ShaderStageFlagBits::eCompute : return "Compute";
      case ShaderStageFlagBits::eAllGraphics : return "AllGraphics";
      case ShaderStageFlagBits::eAll : return "All";
      case ShaderStageFlagBits::eRaygenKHR : return "RaygenKHR";
      case ShaderStageFlagBits::eAnyHitKHR : return "AnyHitKHR";
      case ShaderStageFlagBits::eClosestHitKHR : return "ClosestHitKHR";
      case ShaderStageFlagBits::eMissKHR : return "MissKHR";
      case ShaderStageFlagBits::eIntersectionKHR : return "IntersectionKHR";
      case ShaderStageFlagBits::eCallableKHR : return "CallableKHR";
      case ShaderStageFlagBits::eTaskEXT : return "TaskEXT";
      case ShaderStageFlagBits::eMeshEXT : return "MeshEXT";
      case ShaderStageFlagBits::eSubpassShadingHUAWEI : return "SubpassShadingHUAWEI";
      case ShaderStageFlagBits::eClusterCullingHUAWEI : return "ClusterCullingHUAWEI";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( StencilOp value )
  {
    switch ( value )
    {
      case StencilOp::eKeep : return "Keep";
      case StencilOp::eZero : return "Zero";
      case StencilOp::eReplace : return "Replace";
      case StencilOp::eIncrementAndClamp : return "IncrementAndClamp";
      case StencilOp::eDecrementAndClamp : return "DecrementAndClamp";
      case StencilOp::eInvert : return "Invert";
      case StencilOp::eIncrementAndWrap : return "IncrementAndWrap";
      case StencilOp::eDecrementAndWrap : return "DecrementAndWrap";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VertexInputRate value )
  {
    switch ( value )
    {
      case VertexInputRate::eVertex : return "Vertex";
      case VertexInputRate::eInstance : return "Instance";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineColorBlendStateCreateFlagBits value )
  {
    switch ( value )
    {
      case PipelineColorBlendStateCreateFlagBits::eRasterizationOrderAttachmentAccessEXT : return "RasterizationOrderAttachmentAccessEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineDepthStencilStateCreateFlagBits value )
  {
    switch ( value )
    {
      case PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentDepthAccessEXT : return "RasterizationOrderAttachmentDepthAccessEXT";
      case PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentStencilAccessEXT : return "RasterizationOrderAttachmentStencilAccessEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineDynamicStateCreateFlagBits )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineInputAssemblyStateCreateFlagBits )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineLayoutCreateFlagBits value )
  {
    switch ( value )
    {
      case PipelineLayoutCreateFlagBits::eIndependentSetsEXT : return "IndependentSetsEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineMultisampleStateCreateFlagBits )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineRasterizationStateCreateFlagBits )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineTessellationStateCreateFlagBits )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineVertexInputStateCreateFlagBits )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineViewportStateCreateFlagBits )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( BorderColor value )
  {
    switch ( value )
    {
      case BorderColor::eFloatTransparentBlack : return "FloatTransparentBlack";
      case BorderColor::eIntTransparentBlack : return "IntTransparentBlack";
      case BorderColor::eFloatOpaqueBlack : return "FloatOpaqueBlack";
      case BorderColor::eIntOpaqueBlack : return "IntOpaqueBlack";
      case BorderColor::eFloatOpaqueWhite : return "FloatOpaqueWhite";
      case BorderColor::eIntOpaqueWhite : return "IntOpaqueWhite";
      case BorderColor::eFloatCustomEXT : return "FloatCustomEXT";
      case BorderColor::eIntCustomEXT : return "IntCustomEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( Filter value )
  {
    switch ( value )
    {
      case Filter::eNearest : return "Nearest";
      case Filter::eLinear : return "Linear";
      case Filter::eCubicEXT : return "CubicEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SamplerAddressMode value )
  {
    switch ( value )
    {
      case SamplerAddressMode::eRepeat : return "Repeat";
      case SamplerAddressMode::eMirroredRepeat : return "MirroredRepeat";
      case SamplerAddressMode::eClampToEdge : return "ClampToEdge";
      case SamplerAddressMode::eClampToBorder : return "ClampToBorder";
      case SamplerAddressMode::eMirrorClampToEdge : return "MirrorClampToEdge";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SamplerCreateFlagBits value )
  {
    switch ( value )
    {
      case SamplerCreateFlagBits::eSubsampledEXT : return "SubsampledEXT";
      case SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT : return "SubsampledCoarseReconstructionEXT";
      case SamplerCreateFlagBits::eDescriptorBufferCaptureReplayEXT : return "DescriptorBufferCaptureReplayEXT";
      case SamplerCreateFlagBits::eNonSeamlessCubeMapEXT : return "NonSeamlessCubeMapEXT";
      case SamplerCreateFlagBits::eImageProcessingQCOM : return "ImageProcessingQCOM";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SamplerMipmapMode value )
  {
    switch ( value )
    {
      case SamplerMipmapMode::eNearest : return "Nearest";
      case SamplerMipmapMode::eLinear : return "Linear";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DescriptorPoolCreateFlagBits value )
  {
    switch ( value )
    {
      case DescriptorPoolCreateFlagBits::eFreeDescriptorSet : return "FreeDescriptorSet";
      case DescriptorPoolCreateFlagBits::eUpdateAfterBind : return "UpdateAfterBind";
      case DescriptorPoolCreateFlagBits::eHostOnlyEXT : return "HostOnlyEXT";
      case DescriptorPoolCreateFlagBits::eAllowOverallocationSetsNV : return "AllowOverallocationSetsNV";
      case DescriptorPoolCreateFlagBits::eAllowOverallocationPoolsNV : return "AllowOverallocationPoolsNV";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DescriptorSetLayoutCreateFlagBits value )
  {
    switch ( value )
    {
      case DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool : return "UpdateAfterBindPool";
      case DescriptorSetLayoutCreateFlagBits::ePushDescriptor : return "PushDescriptor";
      case DescriptorSetLayoutCreateFlagBits::eDescriptorBufferEXT : return "DescriptorBufferEXT";
      case DescriptorSetLayoutCreateFlagBits::eEmbeddedImmutableSamplersEXT : return "EmbeddedImmutableSamplersEXT";
      case DescriptorSetLayoutCreateFlagBits::eIndirectBindableNV : return "IndirectBindableNV";
      case DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolEXT : return "HostOnlyPoolEXT";
      case DescriptorSetLayoutCreateFlagBits::ePerStageNV : return "PerStageNV";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DescriptorType value )
  {
    switch ( value )
    {
      case DescriptorType::eSampler : return "Sampler";
      case DescriptorType::eCombinedImageSampler : return "CombinedImageSampler";
      case DescriptorType::eSampledImage : return "SampledImage";
      case DescriptorType::eStorageImage : return "StorageImage";
      case DescriptorType::eUniformTexelBuffer : return "UniformTexelBuffer";
      case DescriptorType::eStorageTexelBuffer : return "StorageTexelBuffer";
      case DescriptorType::eUniformBuffer : return "UniformBuffer";
      case DescriptorType::eStorageBuffer : return "StorageBuffer";
      case DescriptorType::eUniformBufferDynamic : return "UniformBufferDynamic";
      case DescriptorType::eStorageBufferDynamic : return "StorageBufferDynamic";
      case DescriptorType::eInputAttachment : return "InputAttachment";
      case DescriptorType::eInlineUniformBlock : return "InlineUniformBlock";
      case DescriptorType::eAccelerationStructureKHR : return "AccelerationStructureKHR";
      case DescriptorType::eAccelerationStructureNV : return "AccelerationStructureNV";
      case DescriptorType::eSampleWeightImageQCOM : return "SampleWeightImageQCOM";
      case DescriptorType::eBlockMatchImageQCOM : return "BlockMatchImageQCOM";
      case DescriptorType::eTensorARM : return "TensorARM";
      case DescriptorType::eMutableEXT : return "MutableEXT";
      case DescriptorType::ePartitionedAccelerationStructureNV : return "PartitionedAccelerationStructureNV";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DescriptorPoolResetFlagBits )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AccessFlagBits value )
  {
    switch ( value )
    {
      case AccessFlagBits::eIndirectCommandRead : return "IndirectCommandRead";
      case AccessFlagBits::eIndexRead : return "IndexRead";
      case AccessFlagBits::eVertexAttributeRead : return "VertexAttributeRead";
      case AccessFlagBits::eUniformRead : return "UniformRead";
      case AccessFlagBits::eInputAttachmentRead : return "InputAttachmentRead";
      case AccessFlagBits::eShaderRead : return "ShaderRead";
      case AccessFlagBits::eShaderWrite : return "ShaderWrite";
      case AccessFlagBits::eColorAttachmentRead : return "ColorAttachmentRead";
      case AccessFlagBits::eColorAttachmentWrite : return "ColorAttachmentWrite";
      case AccessFlagBits::eDepthStencilAttachmentRead : return "DepthStencilAttachmentRead";
      case AccessFlagBits::eDepthStencilAttachmentWrite : return "DepthStencilAttachmentWrite";
      case AccessFlagBits::eTransferRead : return "TransferRead";
      case AccessFlagBits::eTransferWrite : return "TransferWrite";
      case AccessFlagBits::eHostRead : return "HostRead";
      case AccessFlagBits::eHostWrite : return "HostWrite";
      case AccessFlagBits::eMemoryRead : return "MemoryRead";
      case AccessFlagBits::eMemoryWrite : return "MemoryWrite";
      case AccessFlagBits::eNone : return "None";
      case AccessFlagBits::eTransformFeedbackWriteEXT : return "TransformFeedbackWriteEXT";
      case AccessFlagBits::eTransformFeedbackCounterReadEXT : return "TransformFeedbackCounterReadEXT";
      case AccessFlagBits::eTransformFeedbackCounterWriteEXT : return "TransformFeedbackCounterWriteEXT";
      case AccessFlagBits::eConditionalRenderingReadEXT : return "ConditionalRenderingReadEXT";
      case AccessFlagBits::eColorAttachmentReadNoncoherentEXT : return "ColorAttachmentReadNoncoherentEXT";
      case AccessFlagBits::eAccelerationStructureReadKHR : return "AccelerationStructureReadKHR";
      case AccessFlagBits::eAccelerationStructureWriteKHR : return "AccelerationStructureWriteKHR";
      case AccessFlagBits::eFragmentDensityMapReadEXT : return "FragmentDensityMapReadEXT";
      case AccessFlagBits::eFragmentShadingRateAttachmentReadKHR : return "FragmentShadingRateAttachmentReadKHR";
      case AccessFlagBits::eCommandPreprocessReadEXT : return "CommandPreprocessReadEXT";
      case AccessFlagBits::eCommandPreprocessWriteEXT : return "CommandPreprocessWriteEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AttachmentDescriptionFlagBits value )
  {
    switch ( value )
    {
      case AttachmentDescriptionFlagBits::eMayAlias : return "MayAlias";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AttachmentLoadOp value )
  {
    switch ( value )
    {
      case AttachmentLoadOp::eLoad : return "Load";
      case AttachmentLoadOp::eClear : return "Clear";
      case AttachmentLoadOp::eDontCare : return "DontCare";
      case AttachmentLoadOp::eNone : return "None";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AttachmentStoreOp value )
  {
    switch ( value )
    {
      case AttachmentStoreOp::eStore : return "Store";
      case AttachmentStoreOp::eDontCare : return "DontCare";
      case AttachmentStoreOp::eNone : return "None";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DependencyFlagBits value )
  {
    switch ( value )
    {
      case DependencyFlagBits::eByRegion : return "ByRegion";
      case DependencyFlagBits::eDeviceGroup : return "DeviceGroup";
      case DependencyFlagBits::eViewLocal : return "ViewLocal";
      case DependencyFlagBits::eFeedbackLoopEXT : return "FeedbackLoopEXT";
      case DependencyFlagBits::eQueueFamilyOwnershipTransferUseAllStagesKHR : return "QueueFamilyOwnershipTransferUseAllStagesKHR";
      case DependencyFlagBits::eAsymmetricEventKHR : return "AsymmetricEventKHR";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( FramebufferCreateFlagBits value )
  {
    switch ( value )
    {
      case FramebufferCreateFlagBits::eImageless : return "Imageless";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineBindPoint value )
  {
    switch ( value )
    {
      case PipelineBindPoint::eGraphics : return "Graphics";
      case PipelineBindPoint::eCompute : return "Compute";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
      case PipelineBindPoint::eExecutionGraphAMDX : return "ExecutionGraphAMDX";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
      case PipelineBindPoint::eRayTracingKHR : return "RayTracingKHR";
      case PipelineBindPoint::eSubpassShadingHUAWEI : return "SubpassShadingHUAWEI";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( RenderPassCreateFlagBits value )
  {
    switch ( value )
    {
      case RenderPassCreateFlagBits::eTransformQCOM : return "TransformQCOM";
      case RenderPassCreateFlagBits::ePerLayerFragmentDensityVALVE : return "PerLayerFragmentDensityVALVE";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SubpassDescriptionFlagBits value )
  {
    switch ( value )
    {
      case SubpassDescriptionFlagBits::ePerViewAttributesNVX : return "PerViewAttributesNVX";
      case SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX : return "PerViewPositionXOnlyNVX";
      case SubpassDescriptionFlagBits::eFragmentRegionQCOM : return "FragmentRegionQCOM";
      case SubpassDescriptionFlagBits::eShaderResolveQCOM : return "ShaderResolveQCOM";
      case SubpassDescriptionFlagBits::eTileShadingApronQCOM : return "TileShadingApronQCOM";
      case SubpassDescriptionFlagBits::eRasterizationOrderAttachmentColorAccessEXT : return "RasterizationOrderAttachmentColorAccessEXT";
      case SubpassDescriptionFlagBits::eRasterizationOrderAttachmentDepthAccessEXT : return "RasterizationOrderAttachmentDepthAccessEXT";
      case SubpassDescriptionFlagBits::eRasterizationOrderAttachmentStencilAccessEXT : return "RasterizationOrderAttachmentStencilAccessEXT";
      case SubpassDescriptionFlagBits::eEnableLegacyDitheringEXT : return "EnableLegacyDitheringEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CommandPoolCreateFlagBits value )
  {
    switch ( value )
    {
      case CommandPoolCreateFlagBits::eTransient : return "Transient";
      case CommandPoolCreateFlagBits::eResetCommandBuffer : return "ResetCommandBuffer";
      case CommandPoolCreateFlagBits::eProtected : return "Protected";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CommandPoolResetFlagBits value )
  {
    switch ( value )
    {
      case CommandPoolResetFlagBits::eReleaseResources : return "ReleaseResources";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CommandBufferLevel value )
  {
    switch ( value )
    {
      case CommandBufferLevel::ePrimary : return "Primary";
      case CommandBufferLevel::eSecondary : return "Secondary";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CommandBufferResetFlagBits value )
  {
    switch ( value )
    {
      case CommandBufferResetFlagBits::eReleaseResources : return "ReleaseResources";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CommandBufferUsageFlagBits value )
  {
    switch ( value )
    {
      case CommandBufferUsageFlagBits::eOneTimeSubmit : return "OneTimeSubmit";
      case CommandBufferUsageFlagBits::eRenderPassContinue : return "RenderPassContinue";
      case CommandBufferUsageFlagBits::eSimultaneousUse : return "SimultaneousUse";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( QueryControlFlagBits value )
  {
    switch ( value )
    {
      case QueryControlFlagBits::ePrecise : return "Precise";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( IndexType value )
  {
    switch ( value )
    {
      case IndexType::eUint16 : return "Uint16";
      case IndexType::eUint32 : return "Uint32";
      case IndexType::eUint8 : return "Uint8";
      case IndexType::eNoneKHR : return "NoneKHR";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( StencilFaceFlagBits value )
  {
    switch ( value )
    {
      case StencilFaceFlagBits::eFront : return "Front";
      case StencilFaceFlagBits::eBack : return "Back";
      case StencilFaceFlagBits::eFrontAndBack : return "FrontAndBack";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SubpassContents value )
  {
    switch ( value )
    {
      case SubpassContents::eInline : return "Inline";
      case SubpassContents::eSecondaryCommandBuffers : return "SecondaryCommandBuffers";
      case SubpassContents::eInlineAndSecondaryCommandBuffersKHR : return "InlineAndSecondaryCommandBuffersKHR";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_VERSION_1_1 ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SubgroupFeatureFlagBits value )
  {
    switch ( value )
    {
      case SubgroupFeatureFlagBits::eBasic : return "Basic";
      case SubgroupFeatureFlagBits::eVote : return "Vote";
      case SubgroupFeatureFlagBits::eArithmetic : return "Arithmetic";
      case SubgroupFeatureFlagBits::eBallot : return "Ballot";
      case SubgroupFeatureFlagBits::eShuffle : return "Shuffle";
      case SubgroupFeatureFlagBits::eShuffleRelative : return "ShuffleRelative";
      case SubgroupFeatureFlagBits::eClustered : return "Clustered";
      case SubgroupFeatureFlagBits::eQuad : return "Quad";
      case SubgroupFeatureFlagBits::eRotate : return "Rotate";
      case SubgroupFeatureFlagBits::eRotateClustered : return "RotateClustered";
      case SubgroupFeatureFlagBits::ePartitionedNV : return "PartitionedNV";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PeerMemoryFeatureFlagBits value )
  {
    switch ( value )
    {
      case PeerMemoryFeatureFlagBits::eCopySrc : return "CopySrc";
      case PeerMemoryFeatureFlagBits::eCopyDst : return "CopyDst";
      case PeerMemoryFeatureFlagBits::eGenericSrc : return "GenericSrc";
      case PeerMemoryFeatureFlagBits::eGenericDst : return "GenericDst";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( MemoryAllocateFlagBits value )
  {
    switch ( value )
    {
      case MemoryAllocateFlagBits::eDeviceMask : return "DeviceMask";
      case MemoryAllocateFlagBits::eDeviceAddress : return "DeviceAddress";
      case MemoryAllocateFlagBits::eDeviceAddressCaptureReplay : return "DeviceAddressCaptureReplay";
      case MemoryAllocateFlagBits::eZeroInitializeEXT : return "ZeroInitializeEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CommandPoolTrimFlagBits )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PointClippingBehavior value )
  {
    switch ( value )
    {
      case PointClippingBehavior::eAllClipPlanes : return "AllClipPlanes";
      case PointClippingBehavior::eUserClipPlanesOnly : return "UserClipPlanesOnly";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( TessellationDomainOrigin value )
  {
    switch ( value )
    {
      case TessellationDomainOrigin::eUpperLeft : return "UpperLeft";
      case TessellationDomainOrigin::eLowerLeft : return "LowerLeft";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SamplerYcbcrModelConversion value )
  {
    switch ( value )
    {
      case SamplerYcbcrModelConversion::eRgbIdentity : return "RgbIdentity";
      case SamplerYcbcrModelConversion::eYcbcrIdentity : return "YcbcrIdentity";
      case SamplerYcbcrModelConversion::eYcbcr709 : return "Ycbcr709";
      case SamplerYcbcrModelConversion::eYcbcr601 : return "Ycbcr601";
      case SamplerYcbcrModelConversion::eYcbcr2020 : return "Ycbcr2020";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SamplerYcbcrRange value )
  {
    switch ( value )
    {
      case SamplerYcbcrRange::eItuFull : return "ItuFull";
      case SamplerYcbcrRange::eItuNarrow : return "ItuNarrow";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ChromaLocation value )
  {
    switch ( value )
    {
      case ChromaLocation::eCositedEven : return "CositedEven";
      case ChromaLocation::eMidpoint : return "Midpoint";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DescriptorUpdateTemplateType value )
  {
    switch ( value )
    {
      case DescriptorUpdateTemplateType::eDescriptorSet : return "DescriptorSet";
      case DescriptorUpdateTemplateType::ePushDescriptors : return "PushDescriptors";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DescriptorUpdateTemplateCreateFlagBits )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ExternalMemoryHandleTypeFlagBits value )
  {
    switch ( value )
    {
      case ExternalMemoryHandleTypeFlagBits::eOpaqueFd : return "OpaqueFd";
      case ExternalMemoryHandleTypeFlagBits::eOpaqueWin32 : return "OpaqueWin32";
      case ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt : return "OpaqueWin32Kmt";
      case ExternalMemoryHandleTypeFlagBits::eD3D11Texture : return "D3D11Texture";
      case ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt : return "D3D11TextureKmt";
      case ExternalMemoryHandleTypeFlagBits::eD3D12Heap : return "D3D12Heap";
      case ExternalMemoryHandleTypeFlagBits::eD3D12Resource : return "D3D12Resource";
      case ExternalMemoryHandleTypeFlagBits::eDmaBufEXT : return "DmaBufEXT";
#if defined( VK_USE_PLATFORM_ANDROID_KHR )
      case ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID : return "AndroidHardwareBufferANDROID";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
      case ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT : return "HostAllocationEXT";
      case ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT : return "HostMappedForeignMemoryEXT";
#if defined( VK_USE_PLATFORM_FUCHSIA )
      case ExternalMemoryHandleTypeFlagBits::eZirconVmoFUCHSIA : return "ZirconVmoFUCHSIA";
#endif /*VK_USE_PLATFORM_FUCHSIA*/
      case ExternalMemoryHandleTypeFlagBits::eRdmaAddressNV : return "RdmaAddressNV";
#if defined( VK_USE_PLATFORM_SCREEN_QNX )
      case ExternalMemoryHandleTypeFlagBits::eScreenBufferQNX : return "ScreenBufferQNX";
#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
#if defined( VK_USE_PLATFORM_METAL_EXT )
      case ExternalMemoryHandleTypeFlagBits::eMtlbufferEXT : return "MtlbufferEXT";
      case ExternalMemoryHandleTypeFlagBits::eMtltextureEXT : return "MtltextureEXT";
      case ExternalMemoryHandleTypeFlagBits::eMtlheapEXT : return "MtlheapEXT";
#endif /*VK_USE_PLATFORM_METAL_EXT*/
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ExternalMemoryFeatureFlagBits value )
  {
    switch ( value )
    {
      case ExternalMemoryFeatureFlagBits::eDedicatedOnly : return "DedicatedOnly";
      case ExternalMemoryFeatureFlagBits::eExportable : return "Exportable";
      case ExternalMemoryFeatureFlagBits::eImportable : return "Importable";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ExternalFenceHandleTypeFlagBits value )
  {
    switch ( value )
    {
      case ExternalFenceHandleTypeFlagBits::eOpaqueFd : return "OpaqueFd";
      case ExternalFenceHandleTypeFlagBits::eOpaqueWin32 : return "OpaqueWin32";
      case ExternalFenceHandleTypeFlagBits::eOpaqueWin32Kmt : return "OpaqueWin32Kmt";
      case ExternalFenceHandleTypeFlagBits::eSyncFd : return "SyncFd";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ExternalFenceFeatureFlagBits value )
  {
    switch ( value )
    {
      case ExternalFenceFeatureFlagBits::eExportable : return "Exportable";
      case ExternalFenceFeatureFlagBits::eImportable : return "Importable";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( FenceImportFlagBits value )
  {
    switch ( value )
    {
      case FenceImportFlagBits::eTemporary : return "Temporary";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SemaphoreImportFlagBits value )
  {
    switch ( value )
    {
      case SemaphoreImportFlagBits::eTemporary : return "Temporary";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ExternalSemaphoreHandleTypeFlagBits value )
  {
    switch ( value )
    {
      case ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd : return "OpaqueFd";
      case ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32 : return "OpaqueWin32";
      case ExternalSemaphoreHandleTypeFlagBits::eOpaqueWin32Kmt : return "OpaqueWin32Kmt";
      case ExternalSemaphoreHandleTypeFlagBits::eD3D12Fence : return "D3D12Fence";
      case ExternalSemaphoreHandleTypeFlagBits::eSyncFd : return "SyncFd";
#if defined( VK_USE_PLATFORM_FUCHSIA )
      case ExternalSemaphoreHandleTypeFlagBits::eZirconEventFUCHSIA : return "ZirconEventFUCHSIA";
#endif /*VK_USE_PLATFORM_FUCHSIA*/
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ExternalSemaphoreFeatureFlagBits value )
  {
    switch ( value )
    {
      case ExternalSemaphoreFeatureFlagBits::eExportable : return "Exportable";
      case ExternalSemaphoreFeatureFlagBits::eImportable : return "Importable";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_VERSION_1_2 ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DriverId value )
  {
    switch ( value )
    {
      case DriverId::eAmdProprietary : return "AmdProprietary";
      case DriverId::eAmdOpenSource : return "AmdOpenSource";
      case DriverId::eMesaRadv : return "MesaRadv";
      case DriverId::eNvidiaProprietary : return "NvidiaProprietary";
      case DriverId::eIntelProprietaryWindows : return "IntelProprietaryWindows";
      case DriverId::eIntelOpenSourceMESA : return "IntelOpenSourceMESA";
      case DriverId::eImaginationProprietary : return "ImaginationProprietary";
      case DriverId::eQualcommProprietary : return "QualcommProprietary";
      case DriverId::eArmProprietary : return "ArmProprietary";
      case DriverId::eGoogleSwiftshader : return "GoogleSwiftshader";
      case DriverId::eGgpProprietary : return "GgpProprietary";
      case DriverId::eBroadcomProprietary : return "BroadcomProprietary";
      case DriverId::eMesaLlvmpipe : return "MesaLlvmpipe";
      case DriverId::eMoltenvk : return "Moltenvk";
      case DriverId::eCoreaviProprietary : return "CoreaviProprietary";
      case DriverId::eJuiceProprietary : return "JuiceProprietary";
      case DriverId::eVerisiliconProprietary : return "VerisiliconProprietary";
      case DriverId::eMesaTurnip : return "MesaTurnip";
      case DriverId::eMesaV3Dv : return "MesaV3Dv";
      case DriverId::eMesaPanvk : return "MesaPanvk";
      case DriverId::eSamsungProprietary : return "SamsungProprietary";
      case DriverId::eMesaVenus : return "MesaVenus";
      case DriverId::eMesaDozen : return "MesaDozen";
      case DriverId::eMesaNvk : return "MesaNvk";
      case DriverId::eImaginationOpenSourceMESA : return "ImaginationOpenSourceMESA";
      case DriverId::eMesaHoneykrisp : return "MesaHoneykrisp";
      case DriverId::eVulkanScEmulationOnVulkan : return "VulkanScEmulationOnVulkan";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ShaderFloatControlsIndependence value )
  {
    switch ( value )
    {
      case ShaderFloatControlsIndependence::e32BitOnly : return "32BitOnly";
      case ShaderFloatControlsIndependence::eAll : return "All";
      case ShaderFloatControlsIndependence::eNone : return "None";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DescriptorBindingFlagBits value )
  {
    switch ( value )
    {
      case DescriptorBindingFlagBits::eUpdateAfterBind : return "UpdateAfterBind";
      case DescriptorBindingFlagBits::eUpdateUnusedWhilePending : return "UpdateUnusedWhilePending";
      case DescriptorBindingFlagBits::ePartiallyBound : return "PartiallyBound";
      case DescriptorBindingFlagBits::eVariableDescriptorCount : return "VariableDescriptorCount";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ResolveModeFlagBits value )
  {
    switch ( value )
    {
      case ResolveModeFlagBits::eNone : return "None";
      case ResolveModeFlagBits::eSampleZero : return "SampleZero";
      case ResolveModeFlagBits::eAverage : return "Average";
      case ResolveModeFlagBits::eMin : return "Min";
      case ResolveModeFlagBits::eMax : return "Max";
#if defined( VK_USE_PLATFORM_ANDROID_KHR )
      case ResolveModeFlagBits::eExternalFormatDownsampleANDROID : return "ExternalFormatDownsampleANDROID";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SamplerReductionMode value )
  {
    switch ( value )
    {
      case SamplerReductionMode::eWeightedAverage : return "WeightedAverage";
      case SamplerReductionMode::eMin : return "Min";
      case SamplerReductionMode::eMax : return "Max";
      case SamplerReductionMode::eWeightedAverageRangeclampQCOM : return "WeightedAverageRangeclampQCOM";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SemaphoreType value )
  {
    switch ( value )
    {
      case SemaphoreType::eBinary : return "Binary";
      case SemaphoreType::eTimeline : return "Timeline";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SemaphoreWaitFlagBits value )
  {
    switch ( value )
    {
      case SemaphoreWaitFlagBits::eAny : return "Any";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_VERSION_1_3 ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineCreationFeedbackFlagBits value )
  {
    switch ( value )
    {
      case PipelineCreationFeedbackFlagBits::eValid : return "Valid";
      case PipelineCreationFeedbackFlagBits::eApplicationPipelineCacheHit : return "ApplicationPipelineCacheHit";
      case PipelineCreationFeedbackFlagBits::eBasePipelineAcceleration : return "BasePipelineAcceleration";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ToolPurposeFlagBits value )
  {
    switch ( value )
    {
      case ToolPurposeFlagBits::eValidation : return "Validation";
      case ToolPurposeFlagBits::eProfiling : return "Profiling";
      case ToolPurposeFlagBits::eTracing : return "Tracing";
      case ToolPurposeFlagBits::eAdditionalFeatures : return "AdditionalFeatures";
      case ToolPurposeFlagBits::eModifyingFeatures : return "ModifyingFeatures";
      case ToolPurposeFlagBits::eDebugReportingEXT : return "DebugReportingEXT";
      case ToolPurposeFlagBits::eDebugMarkersEXT : return "DebugMarkersEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PrivateDataSlotCreateFlagBits )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineStageFlagBits2 value )
  {
    switch ( value )
    {
      case PipelineStageFlagBits2::eNone : return "None";
      case PipelineStageFlagBits2::eTopOfPipe : return "TopOfPipe";
      case PipelineStageFlagBits2::eDrawIndirect : return "DrawIndirect";
      case PipelineStageFlagBits2::eVertexInput : return "VertexInput";
      case PipelineStageFlagBits2::eVertexShader : return "VertexShader";
      case PipelineStageFlagBits2::eTessellationControlShader : return "TessellationControlShader";
      case PipelineStageFlagBits2::eTessellationEvaluationShader : return "TessellationEvaluationShader";
      case PipelineStageFlagBits2::eGeometryShader : return "GeometryShader";
      case PipelineStageFlagBits2::eFragmentShader : return "FragmentShader";
      case PipelineStageFlagBits2::eEarlyFragmentTests : return "EarlyFragmentTests";
      case PipelineStageFlagBits2::eLateFragmentTests : return "LateFragmentTests";
      case PipelineStageFlagBits2::eColorAttachmentOutput : return "ColorAttachmentOutput";
      case PipelineStageFlagBits2::eComputeShader : return "ComputeShader";
      case PipelineStageFlagBits2::eAllTransfer : return "AllTransfer";
      case PipelineStageFlagBits2::eBottomOfPipe : return "BottomOfPipe";
      case PipelineStageFlagBits2::eHost : return "Host";
      case PipelineStageFlagBits2::eAllGraphics : return "AllGraphics";
      case PipelineStageFlagBits2::eAllCommands : return "AllCommands";
      case PipelineStageFlagBits2::eCopy : return "Copy";
      case PipelineStageFlagBits2::eResolve : return "Resolve";
      case PipelineStageFlagBits2::eBlit : return "Blit";
      case PipelineStageFlagBits2::eClear : return "Clear";
      case PipelineStageFlagBits2::eIndexInput : return "IndexInput";
      case PipelineStageFlagBits2::eVertexAttributeInput : return "VertexAttributeInput";
      case PipelineStageFlagBits2::ePreRasterizationShaders : return "PreRasterizationShaders";
      case PipelineStageFlagBits2::eVideoDecodeKHR : return "VideoDecodeKHR";
      case PipelineStageFlagBits2::eVideoEncodeKHR : return "VideoEncodeKHR";
      case PipelineStageFlagBits2::eTransformFeedbackEXT : return "TransformFeedbackEXT";
      case PipelineStageFlagBits2::eConditionalRenderingEXT : return "ConditionalRenderingEXT";
      case PipelineStageFlagBits2::eCommandPreprocessEXT : return "CommandPreprocessEXT";
      case PipelineStageFlagBits2::eFragmentShadingRateAttachmentKHR : return "FragmentShadingRateAttachmentKHR";
      case PipelineStageFlagBits2::eAccelerationStructureBuildKHR : return "AccelerationStructureBuildKHR";
      case PipelineStageFlagBits2::eRayTracingShaderKHR : return "RayTracingShaderKHR";
      case PipelineStageFlagBits2::eFragmentDensityProcessEXT : return "FragmentDensityProcessEXT";
      case PipelineStageFlagBits2::eTaskShaderEXT : return "TaskShaderEXT";
      case PipelineStageFlagBits2::eMeshShaderEXT : return "MeshShaderEXT";
      case PipelineStageFlagBits2::eSubpassShaderHUAWEI : return "SubpassShaderHUAWEI";
      case PipelineStageFlagBits2::eInvocationMaskHUAWEI : return "InvocationMaskHUAWEI";
      case PipelineStageFlagBits2::eAccelerationStructureCopyKHR : return "AccelerationStructureCopyKHR";
      case PipelineStageFlagBits2::eMicromapBuildEXT : return "MicromapBuildEXT";
      case PipelineStageFlagBits2::eClusterCullingShaderHUAWEI : return "ClusterCullingShaderHUAWEI";
      case PipelineStageFlagBits2::eOpticalFlowNV : return "OpticalFlowNV";
      case PipelineStageFlagBits2::eConvertCooperativeVectorMatrixNV : return "ConvertCooperativeVectorMatrixNV";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AccessFlagBits2 value )
  {
    switch ( value )
    {
      case AccessFlagBits2::eNone : return "None";
      case AccessFlagBits2::eIndirectCommandRead : return "IndirectCommandRead";
      case AccessFlagBits2::eIndexRead : return "IndexRead";
      case AccessFlagBits2::eVertexAttributeRead : return "VertexAttributeRead";
      case AccessFlagBits2::eUniformRead : return "UniformRead";
      case AccessFlagBits2::eInputAttachmentRead : return "InputAttachmentRead";
      case AccessFlagBits2::eShaderRead : return "ShaderRead";
      case AccessFlagBits2::eShaderWrite : return "ShaderWrite";
      case AccessFlagBits2::eColorAttachmentRead : return "ColorAttachmentRead";
      case AccessFlagBits2::eColorAttachmentWrite : return "ColorAttachmentWrite";
      case AccessFlagBits2::eDepthStencilAttachmentRead : return "DepthStencilAttachmentRead";
      case AccessFlagBits2::eDepthStencilAttachmentWrite : return "DepthStencilAttachmentWrite";
      case AccessFlagBits2::eTransferRead : return "TransferRead";
      case AccessFlagBits2::eTransferWrite : return "TransferWrite";
      case AccessFlagBits2::eHostRead : return "HostRead";
      case AccessFlagBits2::eHostWrite : return "HostWrite";
      case AccessFlagBits2::eMemoryRead : return "MemoryRead";
      case AccessFlagBits2::eMemoryWrite : return "MemoryWrite";
      case AccessFlagBits2::eShaderSampledRead : return "ShaderSampledRead";
      case AccessFlagBits2::eShaderStorageRead : return "ShaderStorageRead";
      case AccessFlagBits2::eShaderStorageWrite : return "ShaderStorageWrite";
      case AccessFlagBits2::eVideoDecodeReadKHR : return "VideoDecodeReadKHR";
      case AccessFlagBits2::eVideoDecodeWriteKHR : return "VideoDecodeWriteKHR";
      case AccessFlagBits2::eVideoEncodeReadKHR : return "VideoEncodeReadKHR";
      case AccessFlagBits2::eVideoEncodeWriteKHR : return "VideoEncodeWriteKHR";
      case AccessFlagBits2::eShaderTileAttachmentReadQCOM : return "ShaderTileAttachmentReadQCOM";
      case AccessFlagBits2::eShaderTileAttachmentWriteQCOM : return "ShaderTileAttachmentWriteQCOM";
      case AccessFlagBits2::eTransformFeedbackWriteEXT : return "TransformFeedbackWriteEXT";
      case AccessFlagBits2::eTransformFeedbackCounterReadEXT : return "TransformFeedbackCounterReadEXT";
      case AccessFlagBits2::eTransformFeedbackCounterWriteEXT : return "TransformFeedbackCounterWriteEXT";
      case AccessFlagBits2::eConditionalRenderingReadEXT : return "ConditionalRenderingReadEXT";
      case AccessFlagBits2::eCommandPreprocessReadEXT : return "CommandPreprocessReadEXT";
      case AccessFlagBits2::eCommandPreprocessWriteEXT : return "CommandPreprocessWriteEXT";
      case AccessFlagBits2::eFragmentShadingRateAttachmentReadKHR : return "FragmentShadingRateAttachmentReadKHR";
      case AccessFlagBits2::eAccelerationStructureReadKHR : return "AccelerationStructureReadKHR";
      case AccessFlagBits2::eAccelerationStructureWriteKHR : return "AccelerationStructureWriteKHR";
      case AccessFlagBits2::eFragmentDensityMapReadEXT : return "FragmentDensityMapReadEXT";
      case AccessFlagBits2::eColorAttachmentReadNoncoherentEXT : return "ColorAttachmentReadNoncoherentEXT";
      case AccessFlagBits2::eDescriptorBufferReadEXT : return "DescriptorBufferReadEXT";
      case AccessFlagBits2::eInvocationMaskReadHUAWEI : return "InvocationMaskReadHUAWEI";
      case AccessFlagBits2::eShaderBindingTableReadKHR : return "ShaderBindingTableReadKHR";
      case AccessFlagBits2::eMicromapReadEXT : return "MicromapReadEXT";
      case AccessFlagBits2::eMicromapWriteEXT : return "MicromapWriteEXT";
      case AccessFlagBits2::eOpticalFlowReadNV : return "OpticalFlowReadNV";
      case AccessFlagBits2::eOpticalFlowWriteNV : return "OpticalFlowWriteNV";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SubmitFlagBits value )
  {
    switch ( value )
    {
      case SubmitFlagBits::eProtected : return "Protected";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( RenderingFlagBits value )
  {
    switch ( value )
    {
      case RenderingFlagBits::eContentsSecondaryCommandBuffers : return "ContentsSecondaryCommandBuffers";
      case RenderingFlagBits::eSuspending : return "Suspending";
      case RenderingFlagBits::eResuming : return "Resuming";
      case RenderingFlagBits::eEnableLegacyDitheringEXT : return "EnableLegacyDitheringEXT";
      case RenderingFlagBits::eContentsInlineKHR : return "ContentsInlineKHR";
      case RenderingFlagBits::ePerLayerFragmentDensityVALVE : return "PerLayerFragmentDensityVALVE";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( FormatFeatureFlagBits2 value )
  {
    switch ( value )
    {
      case FormatFeatureFlagBits2::eSampledImage : return "SampledImage";
      case FormatFeatureFlagBits2::eStorageImage : return "StorageImage";
      case FormatFeatureFlagBits2::eStorageImageAtomic : return "StorageImageAtomic";
      case FormatFeatureFlagBits2::eUniformTexelBuffer : return "UniformTexelBuffer";
      case FormatFeatureFlagBits2::eStorageTexelBuffer : return "StorageTexelBuffer";
      case FormatFeatureFlagBits2::eStorageTexelBufferAtomic : return "StorageTexelBufferAtomic";
      case FormatFeatureFlagBits2::eVertexBuffer : return "VertexBuffer";
      case FormatFeatureFlagBits2::eColorAttachment : return "ColorAttachment";
      case FormatFeatureFlagBits2::eColorAttachmentBlend : return "ColorAttachmentBlend";
      case FormatFeatureFlagBits2::eDepthStencilAttachment : return "DepthStencilAttachment";
      case FormatFeatureFlagBits2::eBlitSrc : return "BlitSrc";
      case FormatFeatureFlagBits2::eBlitDst : return "BlitDst";
      case FormatFeatureFlagBits2::eSampledImageFilterLinear : return "SampledImageFilterLinear";
      case FormatFeatureFlagBits2::eTransferSrc : return "TransferSrc";
      case FormatFeatureFlagBits2::eTransferDst : return "TransferDst";
      case FormatFeatureFlagBits2::eSampledImageFilterMinmax : return "SampledImageFilterMinmax";
      case FormatFeatureFlagBits2::eMidpointChromaSamples : return "MidpointChromaSamples";
      case FormatFeatureFlagBits2::eSampledImageYcbcrConversionLinearFilter : return "SampledImageYcbcrConversionLinearFilter";
      case FormatFeatureFlagBits2::eSampledImageYcbcrConversionSeparateReconstructionFilter : return "SampledImageYcbcrConversionSeparateReconstructionFilter";
      case FormatFeatureFlagBits2::eSampledImageYcbcrConversionChromaReconstructionExplicit : return "SampledImageYcbcrConversionChromaReconstructionExplicit";
      case FormatFeatureFlagBits2::eSampledImageYcbcrConversionChromaReconstructionExplicitForceable : return "SampledImageYcbcrConversionChromaReconstructionExplicitForceable";
      case FormatFeatureFlagBits2::eDisjoint : return "Disjoint";
      case FormatFeatureFlagBits2::eCositedChromaSamples : return "CositedChromaSamples";
      case FormatFeatureFlagBits2::eStorageReadWithoutFormat : return "StorageReadWithoutFormat";
      case FormatFeatureFlagBits2::eStorageWriteWithoutFormat : return "StorageWriteWithoutFormat";
      case FormatFeatureFlagBits2::eSampledImageDepthComparison : return "SampledImageDepthComparison";
      case FormatFeatureFlagBits2::eSampledImageFilterCubic : return "SampledImageFilterCubic";
      case FormatFeatureFlagBits2::eHostImageTransfer : return "HostImageTransfer";
      case FormatFeatureFlagBits2::eVideoDecodeOutputKHR : return "VideoDecodeOutputKHR";
      case FormatFeatureFlagBits2::eVideoDecodeDpbKHR : return "VideoDecodeDpbKHR";
      case FormatFeatureFlagBits2::eAccelerationStructureVertexBufferKHR : return "AccelerationStructureVertexBufferKHR";
      case FormatFeatureFlagBits2::eFragmentDensityMapEXT : return "FragmentDensityMapEXT";
      case FormatFeatureFlagBits2::eFragmentShadingRateAttachmentKHR : return "FragmentShadingRateAttachmentKHR";
      case FormatFeatureFlagBits2::eVideoEncodeInputKHR : return "VideoEncodeInputKHR";
      case FormatFeatureFlagBits2::eVideoEncodeDpbKHR : return "VideoEncodeDpbKHR";
      case FormatFeatureFlagBits2::eAccelerationStructureRadiusBufferNV : return "AccelerationStructureRadiusBufferNV";
      case FormatFeatureFlagBits2::eLinearColorAttachmentNV : return "LinearColorAttachmentNV";
      case FormatFeatureFlagBits2::eWeightImageQCOM : return "WeightImageQCOM";
      case FormatFeatureFlagBits2::eWeightSampledImageQCOM : return "WeightSampledImageQCOM";
      case FormatFeatureFlagBits2::eBlockMatchingQCOM : return "BlockMatchingQCOM";
      case FormatFeatureFlagBits2::eBoxFilterSampledQCOM : return "BoxFilterSampledQCOM";
      case FormatFeatureFlagBits2::eTensorShaderARM : return "TensorShaderARM";
      case FormatFeatureFlagBits2::eTensorImageAliasingARM : return "TensorImageAliasingARM";
      case FormatFeatureFlagBits2::eOpticalFlowImageNV : return "OpticalFlowImageNV";
      case FormatFeatureFlagBits2::eOpticalFlowVectorNV : return "OpticalFlowVectorNV";
      case FormatFeatureFlagBits2::eOpticalFlowCostNV : return "OpticalFlowCostNV";
      case FormatFeatureFlagBits2::eVideoEncodeQuantizationDeltaMapKHR : return "VideoEncodeQuantizationDeltaMapKHR";
      case FormatFeatureFlagBits2::eVideoEncodeEmphasisMapKHR : return "VideoEncodeEmphasisMapKHR";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_VERSION_1_4 ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( QueueGlobalPriority value )
  {
    switch ( value )
    {
      case QueueGlobalPriority::eLow : return "Low";
      case QueueGlobalPriority::eMedium : return "Medium";
      case QueueGlobalPriority::eHigh : return "High";
      case QueueGlobalPriority::eRealtime : return "Realtime";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( LineRasterizationMode value )
  {
    switch ( value )
    {
      case LineRasterizationMode::eDefault : return "Default";
      case LineRasterizationMode::eRectangular : return "Rectangular";
      case LineRasterizationMode::eBresenham : return "Bresenham";
      case LineRasterizationMode::eRectangularSmooth : return "RectangularSmooth";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( MemoryUnmapFlagBits value )
  {
    switch ( value )
    {
      case MemoryUnmapFlagBits::eReserveEXT : return "ReserveEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineCreateFlagBits2 value )
  {
    switch ( value )
    {
      case PipelineCreateFlagBits2::eDisableOptimization : return "DisableOptimization";
      case PipelineCreateFlagBits2::eAllowDerivatives : return "AllowDerivatives";
      case PipelineCreateFlagBits2::eDerivative : return "Derivative";
      case PipelineCreateFlagBits2::eViewIndexFromDeviceIndex : return "ViewIndexFromDeviceIndex";
      case PipelineCreateFlagBits2::eDispatchBase : return "DispatchBase";
      case PipelineCreateFlagBits2::eFailOnPipelineCompileRequired : return "FailOnPipelineCompileRequired";
      case PipelineCreateFlagBits2::eEarlyReturnOnFailure : return "EarlyReturnOnFailure";
      case PipelineCreateFlagBits2::eNoProtectedAccess : return "NoProtectedAccess";
      case PipelineCreateFlagBits2::eProtectedAccessOnly : return "ProtectedAccessOnly";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
      case PipelineCreateFlagBits2::eExecutionGraphAMDX : return "ExecutionGraphAMDX";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
      case PipelineCreateFlagBits2::eRayTracingAllowSpheresAndLinearSweptSpheresNV : return "RayTracingAllowSpheresAndLinearSweptSpheresNV";
      case PipelineCreateFlagBits2::eEnableLegacyDitheringEXT : return "EnableLegacyDitheringEXT";
      case PipelineCreateFlagBits2::eDeferCompileNV : return "DeferCompileNV";
      case PipelineCreateFlagBits2::eCaptureStatisticsKHR : return "CaptureStatisticsKHR";
      case PipelineCreateFlagBits2::eCaptureInternalRepresentationsKHR : return "CaptureInternalRepresentationsKHR";
      case PipelineCreateFlagBits2::eLinkTimeOptimizationEXT : return "LinkTimeOptimizationEXT";
      case PipelineCreateFlagBits2::eRetainLinkTimeOptimizationInfoEXT : return "RetainLinkTimeOptimizationInfoEXT";
      case PipelineCreateFlagBits2::eLibraryKHR : return "LibraryKHR";
      case PipelineCreateFlagBits2::eRayTracingSkipTrianglesKHR : return "RayTracingSkipTrianglesKHR";
      case PipelineCreateFlagBits2::eRayTracingSkipAabbsKHR : return "RayTracingSkipAabbsKHR";
      case PipelineCreateFlagBits2::eRayTracingNoNullAnyHitShadersKHR : return "RayTracingNoNullAnyHitShadersKHR";
      case PipelineCreateFlagBits2::eRayTracingNoNullClosestHitShadersKHR : return "RayTracingNoNullClosestHitShadersKHR";
      case PipelineCreateFlagBits2::eRayTracingNoNullMissShadersKHR : return "RayTracingNoNullMissShadersKHR";
      case PipelineCreateFlagBits2::eRayTracingNoNullIntersectionShadersKHR : return "RayTracingNoNullIntersectionShadersKHR";
      case PipelineCreateFlagBits2::eRayTracingShaderGroupHandleCaptureReplayKHR : return "RayTracingShaderGroupHandleCaptureReplayKHR";
      case PipelineCreateFlagBits2::eIndirectBindableNV : return "IndirectBindableNV";
      case PipelineCreateFlagBits2::eRayTracingAllowMotionNV : return "RayTracingAllowMotionNV";
      case PipelineCreateFlagBits2::eRenderingFragmentShadingRateAttachmentKHR : return "RenderingFragmentShadingRateAttachmentKHR";
      case PipelineCreateFlagBits2::eRenderingFragmentDensityMapAttachmentEXT : return "RenderingFragmentDensityMapAttachmentEXT";
      case PipelineCreateFlagBits2::eRayTracingOpacityMicromapEXT : return "RayTracingOpacityMicromapEXT";
      case PipelineCreateFlagBits2::eColorAttachmentFeedbackLoopEXT : return "ColorAttachmentFeedbackLoopEXT";
      case PipelineCreateFlagBits2::eDepthStencilAttachmentFeedbackLoopEXT : return "DepthStencilAttachmentFeedbackLoopEXT";
      case PipelineCreateFlagBits2::eRayTracingDisplacementMicromapNV : return "RayTracingDisplacementMicromapNV";
      case PipelineCreateFlagBits2::eDescriptorBufferEXT : return "DescriptorBufferEXT";
      case PipelineCreateFlagBits2::eDisallowOpacityMicromapARM : return "DisallowOpacityMicromapARM";
      case PipelineCreateFlagBits2::eCaptureDataKHR : return "CaptureDataKHR";
      case PipelineCreateFlagBits2::eIndirectBindableEXT : return "IndirectBindableEXT";
      case PipelineCreateFlagBits2::ePerLayerFragmentDensityVALVE : return "PerLayerFragmentDensityVALVE";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( BufferUsageFlagBits2 value )
  {
    switch ( value )
    {
      case BufferUsageFlagBits2::eTransferSrc : return "TransferSrc";
      case BufferUsageFlagBits2::eTransferDst : return "TransferDst";
      case BufferUsageFlagBits2::eUniformTexelBuffer : return "UniformTexelBuffer";
      case BufferUsageFlagBits2::eStorageTexelBuffer : return "StorageTexelBuffer";
      case BufferUsageFlagBits2::eUniformBuffer : return "UniformBuffer";
      case BufferUsageFlagBits2::eStorageBuffer : return "StorageBuffer";
      case BufferUsageFlagBits2::eIndexBuffer : return "IndexBuffer";
      case BufferUsageFlagBits2::eVertexBuffer : return "VertexBuffer";
      case BufferUsageFlagBits2::eIndirectBuffer : return "IndirectBuffer";
      case BufferUsageFlagBits2::eShaderDeviceAddress : return "ShaderDeviceAddress";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
      case BufferUsageFlagBits2::eExecutionGraphScratchAMDX : return "ExecutionGraphScratchAMDX";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
      case BufferUsageFlagBits2::eConditionalRenderingEXT : return "ConditionalRenderingEXT";
      case BufferUsageFlagBits2::eShaderBindingTableKHR : return "ShaderBindingTableKHR";
      case BufferUsageFlagBits2::eTransformFeedbackBufferEXT : return "TransformFeedbackBufferEXT";
      case BufferUsageFlagBits2::eTransformFeedbackCounterBufferEXT : return "TransformFeedbackCounterBufferEXT";
      case BufferUsageFlagBits2::eVideoDecodeSrcKHR : return "VideoDecodeSrcKHR";
      case BufferUsageFlagBits2::eVideoDecodeDstKHR : return "VideoDecodeDstKHR";
      case BufferUsageFlagBits2::eVideoEncodeDstKHR : return "VideoEncodeDstKHR";
      case BufferUsageFlagBits2::eVideoEncodeSrcKHR : return "VideoEncodeSrcKHR";
      case BufferUsageFlagBits2::eAccelerationStructureBuildInputReadOnlyKHR : return "AccelerationStructureBuildInputReadOnlyKHR";
      case BufferUsageFlagBits2::eAccelerationStructureStorageKHR : return "AccelerationStructureStorageKHR";
      case BufferUsageFlagBits2::eSamplerDescriptorBufferEXT : return "SamplerDescriptorBufferEXT";
      case BufferUsageFlagBits2::eResourceDescriptorBufferEXT : return "ResourceDescriptorBufferEXT";
      case BufferUsageFlagBits2::ePushDescriptorsDescriptorBufferEXT : return "PushDescriptorsDescriptorBufferEXT";
      case BufferUsageFlagBits2::eMicromapBuildInputReadOnlyEXT : return "MicromapBuildInputReadOnlyEXT";
      case BufferUsageFlagBits2::eMicromapStorageEXT : return "MicromapStorageEXT";
      case BufferUsageFlagBits2::eTileMemoryQCOM : return "TileMemoryQCOM";
      case BufferUsageFlagBits2::ePreprocessBufferEXT : return "PreprocessBufferEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineRobustnessBufferBehavior value )
  {
    switch ( value )
    {
      case PipelineRobustnessBufferBehavior::eDeviceDefault : return "DeviceDefault";
      case PipelineRobustnessBufferBehavior::eDisabled : return "Disabled";
      case PipelineRobustnessBufferBehavior::eRobustBufferAccess : return "RobustBufferAccess";
      case PipelineRobustnessBufferBehavior::eRobustBufferAccess2 : return "RobustBufferAccess2";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineRobustnessImageBehavior value )
  {
    switch ( value )
    {
      case PipelineRobustnessImageBehavior::eDeviceDefault : return "DeviceDefault";
      case PipelineRobustnessImageBehavior::eDisabled : return "Disabled";
      case PipelineRobustnessImageBehavior::eRobustImageAccess : return "RobustImageAccess";
      case PipelineRobustnessImageBehavior::eRobustImageAccess2 : return "RobustImageAccess2";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( HostImageCopyFlagBits value )
  {
    switch ( value )
    {
      case HostImageCopyFlagBits::eMemcpy : return "Memcpy";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_KHR_surface ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SurfaceTransformFlagBitsKHR value )
  {
    switch ( value )
    {
      case SurfaceTransformFlagBitsKHR::eIdentity : return "Identity";
      case SurfaceTransformFlagBitsKHR::eRotate90 : return "Rotate90";
      case SurfaceTransformFlagBitsKHR::eRotate180 : return "Rotate180";
      case SurfaceTransformFlagBitsKHR::eRotate270 : return "Rotate270";
      case SurfaceTransformFlagBitsKHR::eHorizontalMirror : return "HorizontalMirror";
      case SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate90 : return "HorizontalMirrorRotate90";
      case SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate180 : return "HorizontalMirrorRotate180";
      case SurfaceTransformFlagBitsKHR::eHorizontalMirrorRotate270 : return "HorizontalMirrorRotate270";
      case SurfaceTransformFlagBitsKHR::eInherit : return "Inherit";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PresentModeKHR value )
  {
    switch ( value )
    {
      case PresentModeKHR::eImmediate : return "Immediate";
      case PresentModeKHR::eMailbox : return "Mailbox";
      case PresentModeKHR::eFifo : return "Fifo";
      case PresentModeKHR::eFifoRelaxed : return "FifoRelaxed";
      case PresentModeKHR::eSharedDemandRefresh : return "SharedDemandRefresh";
      case PresentModeKHR::eSharedContinuousRefresh : return "SharedContinuousRefresh";
      case PresentModeKHR::eFifoLatestReadyEXT : return "FifoLatestReadyEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ColorSpaceKHR value )
  {
    switch ( value )
    {
      case ColorSpaceKHR::eSrgbNonlinear : return "SrgbNonlinear";
      case ColorSpaceKHR::eDisplayP3NonlinearEXT : return "DisplayP3NonlinearEXT";
      case ColorSpaceKHR::eExtendedSrgbLinearEXT : return "ExtendedSrgbLinearEXT";
      case ColorSpaceKHR::eDisplayP3LinearEXT : return "DisplayP3LinearEXT";
      case ColorSpaceKHR::eDciP3NonlinearEXT : return "DciP3NonlinearEXT";
      case ColorSpaceKHR::eBt709LinearEXT : return "Bt709LinearEXT";
      case ColorSpaceKHR::eBt709NonlinearEXT : return "Bt709NonlinearEXT";
      case ColorSpaceKHR::eBt2020LinearEXT : return "Bt2020LinearEXT";
      case ColorSpaceKHR::eHdr10St2084EXT : return "Hdr10St2084EXT";
      case ColorSpaceKHR::eDolbyvisionEXT : return "DolbyvisionEXT";
      case ColorSpaceKHR::eHdr10HlgEXT : return "Hdr10HlgEXT";
      case ColorSpaceKHR::eAdobergbLinearEXT : return "AdobergbLinearEXT";
      case ColorSpaceKHR::eAdobergbNonlinearEXT : return "AdobergbNonlinearEXT";
      case ColorSpaceKHR::ePassThroughEXT : return "PassThroughEXT";
      case ColorSpaceKHR::eExtendedSrgbNonlinearEXT : return "ExtendedSrgbNonlinearEXT";
      case ColorSpaceKHR::eDisplayNativeAMD : return "DisplayNativeAMD";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CompositeAlphaFlagBitsKHR value )
  {
    switch ( value )
    {
      case CompositeAlphaFlagBitsKHR::eOpaque : return "Opaque";
      case CompositeAlphaFlagBitsKHR::ePreMultiplied : return "PreMultiplied";
      case CompositeAlphaFlagBitsKHR::ePostMultiplied : return "PostMultiplied";
      case CompositeAlphaFlagBitsKHR::eInherit : return "Inherit";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_KHR_swapchain ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SwapchainCreateFlagBitsKHR value )
  {
    switch ( value )
    {
      case SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions : return "SplitInstanceBindRegions";
      case SwapchainCreateFlagBitsKHR::eProtected : return "Protected";
      case SwapchainCreateFlagBitsKHR::eMutableFormat : return "MutableFormat";
      case SwapchainCreateFlagBitsKHR::eDeferredMemoryAllocationEXT : return "DeferredMemoryAllocationEXT";
      case SwapchainCreateFlagBitsKHR::ePresentId2 : return "PresentId2";
      case SwapchainCreateFlagBitsKHR::ePresentWait2 : return "PresentWait2";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DeviceGroupPresentModeFlagBitsKHR value )
  {
    switch ( value )
    {
      case DeviceGroupPresentModeFlagBitsKHR::eLocal : return "Local";
      case DeviceGroupPresentModeFlagBitsKHR::eRemote : return "Remote";
      case DeviceGroupPresentModeFlagBitsKHR::eSum : return "Sum";
      case DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice : return "LocalMultiDevice";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_KHR_display ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DisplayPlaneAlphaFlagBitsKHR value )
  {
    switch ( value )
    {
      case DisplayPlaneAlphaFlagBitsKHR::eOpaque : return "Opaque";
      case DisplayPlaneAlphaFlagBitsKHR::eGlobal : return "Global";
      case DisplayPlaneAlphaFlagBitsKHR::ePerPixel : return "PerPixel";
      case DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied : return "PerPixelPremultiplied";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DisplayModeCreateFlagBitsKHR )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DisplaySurfaceCreateFlagBitsKHR )
  {
    return "(void)";
  }

#if defined( VK_USE_PLATFORM_XLIB_KHR )
  //=== VK_KHR_xlib_surface ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( XlibSurfaceCreateFlagBitsKHR )
  {
    return "(void)";
  }
#endif /*VK_USE_PLATFORM_XLIB_KHR*/

#if defined( VK_USE_PLATFORM_XCB_KHR )
  //=== VK_KHR_xcb_surface ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( XcbSurfaceCreateFlagBitsKHR )
  {
    return "(void)";
  }
#endif /*VK_USE_PLATFORM_XCB_KHR*/

#if defined( VK_USE_PLATFORM_WAYLAND_KHR )
  //=== VK_KHR_wayland_surface ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( WaylandSurfaceCreateFlagBitsKHR )
  {
    return "(void)";
  }
#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/

#if defined( VK_USE_PLATFORM_ANDROID_KHR )
  //=== VK_KHR_android_surface ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AndroidSurfaceCreateFlagBitsKHR )
  {
    return "(void)";
  }
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/

#if defined( VK_USE_PLATFORM_WIN32_KHR )
  //=== VK_KHR_win32_surface ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( Win32SurfaceCreateFlagBitsKHR )
  {
    return "(void)";
  }
#endif /*VK_USE_PLATFORM_WIN32_KHR*/

  //=== VK_EXT_debug_report ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DebugReportFlagBitsEXT value )
  {
    switch ( value )
    {
      case DebugReportFlagBitsEXT::eInformation : return "Information";
      case DebugReportFlagBitsEXT::eWarning : return "Warning";
      case DebugReportFlagBitsEXT::ePerformanceWarning : return "PerformanceWarning";
      case DebugReportFlagBitsEXT::eError : return "Error";
      case DebugReportFlagBitsEXT::eDebug : return "Debug";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DebugReportObjectTypeEXT value )
  {
    switch ( value )
    {
      case DebugReportObjectTypeEXT::eUnknown : return "Unknown";
      case DebugReportObjectTypeEXT::eInstance : return "Instance";
      case DebugReportObjectTypeEXT::ePhysicalDevice : return "PhysicalDevice";
      case DebugReportObjectTypeEXT::eDevice : return "Device";
      case DebugReportObjectTypeEXT::eQueue : return "Queue";
      case DebugReportObjectTypeEXT::eSemaphore : return "Semaphore";
      case DebugReportObjectTypeEXT::eCommandBuffer : return "CommandBuffer";
      case DebugReportObjectTypeEXT::eFence : return "Fence";
      case DebugReportObjectTypeEXT::eDeviceMemory : return "DeviceMemory";
      case DebugReportObjectTypeEXT::eBuffer : return "Buffer";
      case DebugReportObjectTypeEXT::eImage : return "Image";
      case DebugReportObjectTypeEXT::eEvent : return "Event";
      case DebugReportObjectTypeEXT::eQueryPool : return "QueryPool";
      case DebugReportObjectTypeEXT::eBufferView : return "BufferView";
      case DebugReportObjectTypeEXT::eImageView : return "ImageView";
      case DebugReportObjectTypeEXT::eShaderModule : return "ShaderModule";
      case DebugReportObjectTypeEXT::ePipelineCache : return "PipelineCache";
      case DebugReportObjectTypeEXT::ePipelineLayout : return "PipelineLayout";
      case DebugReportObjectTypeEXT::eRenderPass : return "RenderPass";
      case DebugReportObjectTypeEXT::ePipeline : return "Pipeline";
      case DebugReportObjectTypeEXT::eDescriptorSetLayout : return "DescriptorSetLayout";
      case DebugReportObjectTypeEXT::eSampler : return "Sampler";
      case DebugReportObjectTypeEXT::eDescriptorPool : return "DescriptorPool";
      case DebugReportObjectTypeEXT::eDescriptorSet : return "DescriptorSet";
      case DebugReportObjectTypeEXT::eFramebuffer : return "Framebuffer";
      case DebugReportObjectTypeEXT::eCommandPool : return "CommandPool";
      case DebugReportObjectTypeEXT::eSurfaceKHR : return "SurfaceKHR";
      case DebugReportObjectTypeEXT::eSwapchainKHR : return "SwapchainKHR";
      case DebugReportObjectTypeEXT::eDebugReportCallbackEXT : return "DebugReportCallbackEXT";
      case DebugReportObjectTypeEXT::eDisplayKHR : return "DisplayKHR";
      case DebugReportObjectTypeEXT::eDisplayModeKHR : return "DisplayModeKHR";
      case DebugReportObjectTypeEXT::eValidationCacheEXT : return "ValidationCacheEXT";
      case DebugReportObjectTypeEXT::eSamplerYcbcrConversion : return "SamplerYcbcrConversion";
      case DebugReportObjectTypeEXT::eDescriptorUpdateTemplate : return "DescriptorUpdateTemplate";
      case DebugReportObjectTypeEXT::eCuModuleNVX : return "CuModuleNVX";
      case DebugReportObjectTypeEXT::eCuFunctionNVX : return "CuFunctionNVX";
      case DebugReportObjectTypeEXT::eAccelerationStructureKHR : return "AccelerationStructureKHR";
      case DebugReportObjectTypeEXT::eAccelerationStructureNV : return "AccelerationStructureNV";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
      case DebugReportObjectTypeEXT::eCudaModuleNV : return "CudaModuleNV";
      case DebugReportObjectTypeEXT::eCudaFunctionNV : return "CudaFunctionNV";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
#if defined( VK_USE_PLATFORM_FUCHSIA )
      case DebugReportObjectTypeEXT::eBufferCollectionFUCHSIA : return "BufferCollectionFUCHSIA";
#endif /*VK_USE_PLATFORM_FUCHSIA*/
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_AMD_rasterization_order ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( RasterizationOrderAMD value )
  {
    switch ( value )
    {
      case RasterizationOrderAMD::eStrict : return "Strict";
      case RasterizationOrderAMD::eRelaxed : return "Relaxed";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_KHR_video_queue ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoCodecOperationFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoCodecOperationFlagBitsKHR::eNone : return "None";
      case VideoCodecOperationFlagBitsKHR::eEncodeH264 : return "EncodeH264";
      case VideoCodecOperationFlagBitsKHR::eEncodeH265 : return "EncodeH265";
      case VideoCodecOperationFlagBitsKHR::eDecodeH264 : return "DecodeH264";
      case VideoCodecOperationFlagBitsKHR::eDecodeH265 : return "DecodeH265";
      case VideoCodecOperationFlagBitsKHR::eDecodeAv1 : return "DecodeAv1";
      case VideoCodecOperationFlagBitsKHR::eEncodeAv1 : return "EncodeAv1";
      case VideoCodecOperationFlagBitsKHR::eDecodeVp9 : return "DecodeVp9";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoChromaSubsamplingFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoChromaSubsamplingFlagBitsKHR::eInvalid : return "Invalid";
      case VideoChromaSubsamplingFlagBitsKHR::eMonochrome : return "Monochrome";
      case VideoChromaSubsamplingFlagBitsKHR::e420 : return "420";
      case VideoChromaSubsamplingFlagBitsKHR::e422 : return "422";
      case VideoChromaSubsamplingFlagBitsKHR::e444 : return "444";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoComponentBitDepthFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoComponentBitDepthFlagBitsKHR::eInvalid : return "Invalid";
      case VideoComponentBitDepthFlagBitsKHR::e8 : return "8";
      case VideoComponentBitDepthFlagBitsKHR::e10 : return "10";
      case VideoComponentBitDepthFlagBitsKHR::e12 : return "12";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoCapabilityFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoCapabilityFlagBitsKHR::eProtectedContent : return "ProtectedContent";
      case VideoCapabilityFlagBitsKHR::eSeparateReferenceImages : return "SeparateReferenceImages";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoSessionCreateFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoSessionCreateFlagBitsKHR::eProtectedContent : return "ProtectedContent";
      case VideoSessionCreateFlagBitsKHR::eAllowEncodeParameterOptimizations : return "AllowEncodeParameterOptimizations";
      case VideoSessionCreateFlagBitsKHR::eInlineQueries : return "InlineQueries";
      case VideoSessionCreateFlagBitsKHR::eAllowEncodeQuantizationDeltaMap : return "AllowEncodeQuantizationDeltaMap";
      case VideoSessionCreateFlagBitsKHR::eAllowEncodeEmphasisMap : return "AllowEncodeEmphasisMap";
      case VideoSessionCreateFlagBitsKHR::eInlineSessionParameters : return "InlineSessionParameters";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoCodingControlFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoCodingControlFlagBitsKHR::eReset : return "Reset";
      case VideoCodingControlFlagBitsKHR::eEncodeRateControl : return "EncodeRateControl";
      case VideoCodingControlFlagBitsKHR::eEncodeQualityLevel : return "EncodeQualityLevel";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( QueryResultStatusKHR value )
  {
    switch ( value )
    {
      case QueryResultStatusKHR::eError : return "Error";
      case QueryResultStatusKHR::eNotReady : return "NotReady";
      case QueryResultStatusKHR::eComplete : return "Complete";
      case QueryResultStatusKHR::eInsufficientBitstreamBufferRange : return "InsufficientBitstreamBufferRange";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoSessionParametersCreateFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoSessionParametersCreateFlagBitsKHR::eQuantizationMapCompatible : return "QuantizationMapCompatible";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoBeginCodingFlagBitsKHR )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEndCodingFlagBitsKHR )
  {
    return "(void)";
  }

  //=== VK_KHR_video_decode_queue ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoDecodeCapabilityFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoDecodeCapabilityFlagBitsKHR::eDpbAndOutputCoincide : return "DpbAndOutputCoincide";
      case VideoDecodeCapabilityFlagBitsKHR::eDpbAndOutputDistinct : return "DpbAndOutputDistinct";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoDecodeUsageFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoDecodeUsageFlagBitsKHR::eDefault : return "Default";
      case VideoDecodeUsageFlagBitsKHR::eTranscoding : return "Transcoding";
      case VideoDecodeUsageFlagBitsKHR::eOffline : return "Offline";
      case VideoDecodeUsageFlagBitsKHR::eStreaming : return "Streaming";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoDecodeFlagBitsKHR )
  {
    return "(void)";
  }

  //=== VK_EXT_transform_feedback ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineRasterizationStateStreamCreateFlagBitsEXT )
  {
    return "(void)";
  }

  //=== VK_KHR_video_encode_h264 ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeH264CapabilityFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeH264CapabilityFlagBitsKHR::eHrdCompliance : return "HrdCompliance";
      case VideoEncodeH264CapabilityFlagBitsKHR::ePredictionWeightTableGenerated : return "PredictionWeightTableGenerated";
      case VideoEncodeH264CapabilityFlagBitsKHR::eRowUnalignedSlice : return "RowUnalignedSlice";
      case VideoEncodeH264CapabilityFlagBitsKHR::eDifferentSliceType : return "DifferentSliceType";
      case VideoEncodeH264CapabilityFlagBitsKHR::eBFrameInL0List : return "BFrameInL0List";
      case VideoEncodeH264CapabilityFlagBitsKHR::eBFrameInL1List : return "BFrameInL1List";
      case VideoEncodeH264CapabilityFlagBitsKHR::ePerPictureTypeMinMaxQp : return "PerPictureTypeMinMaxQp";
      case VideoEncodeH264CapabilityFlagBitsKHR::ePerSliceConstantQp : return "PerSliceConstantQp";
      case VideoEncodeH264CapabilityFlagBitsKHR::eGeneratePrefixNalu : return "GeneratePrefixNalu";
      case VideoEncodeH264CapabilityFlagBitsKHR::eMbQpDiffWraparound : return "MbQpDiffWraparound";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeH264StdFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeH264StdFlagBitsKHR::eSeparateColorPlaneFlagSet : return "SeparateColorPlaneFlagSet";
      case VideoEncodeH264StdFlagBitsKHR::eQpprimeYZeroTransformBypassFlagSet : return "QpprimeYZeroTransformBypassFlagSet";
      case VideoEncodeH264StdFlagBitsKHR::eScalingMatrixPresentFlagSet : return "ScalingMatrixPresentFlagSet";
      case VideoEncodeH264StdFlagBitsKHR::eChromaQpIndexOffset : return "ChromaQpIndexOffset";
      case VideoEncodeH264StdFlagBitsKHR::eSecondChromaQpIndexOffset : return "SecondChromaQpIndexOffset";
      case VideoEncodeH264StdFlagBitsKHR::ePicInitQpMinus26 : return "PicInitQpMinus26";
      case VideoEncodeH264StdFlagBitsKHR::eWeightedPredFlagSet : return "WeightedPredFlagSet";
      case VideoEncodeH264StdFlagBitsKHR::eWeightedBipredIdcExplicit : return "WeightedBipredIdcExplicit";
      case VideoEncodeH264StdFlagBitsKHR::eWeightedBipredIdcImplicit : return "WeightedBipredIdcImplicit";
      case VideoEncodeH264StdFlagBitsKHR::eTransform8X8ModeFlagSet : return "Transform8X8ModeFlagSet";
      case VideoEncodeH264StdFlagBitsKHR::eDirectSpatialMvPredFlagUnset : return "DirectSpatialMvPredFlagUnset";
      case VideoEncodeH264StdFlagBitsKHR::eEntropyCodingModeFlagUnset : return "EntropyCodingModeFlagUnset";
      case VideoEncodeH264StdFlagBitsKHR::eEntropyCodingModeFlagSet : return "EntropyCodingModeFlagSet";
      case VideoEncodeH264StdFlagBitsKHR::eDirect8X8InferenceFlagUnset : return "Direct8X8InferenceFlagUnset";
      case VideoEncodeH264StdFlagBitsKHR::eConstrainedIntraPredFlagSet : return "ConstrainedIntraPredFlagSet";
      case VideoEncodeH264StdFlagBitsKHR::eDeblockingFilterDisabled : return "DeblockingFilterDisabled";
      case VideoEncodeH264StdFlagBitsKHR::eDeblockingFilterEnabled : return "DeblockingFilterEnabled";
      case VideoEncodeH264StdFlagBitsKHR::eDeblockingFilterPartial : return "DeblockingFilterPartial";
      case VideoEncodeH264StdFlagBitsKHR::eSliceQpDelta : return "SliceQpDelta";
      case VideoEncodeH264StdFlagBitsKHR::eDifferentSliceQpDelta : return "DifferentSliceQpDelta";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeH264RateControlFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeH264RateControlFlagBitsKHR::eAttemptHrdCompliance : return "AttemptHrdCompliance";
      case VideoEncodeH264RateControlFlagBitsKHR::eRegularGop : return "RegularGop";
      case VideoEncodeH264RateControlFlagBitsKHR::eReferencePatternFlat : return "ReferencePatternFlat";
      case VideoEncodeH264RateControlFlagBitsKHR::eReferencePatternDyadic : return "ReferencePatternDyadic";
      case VideoEncodeH264RateControlFlagBitsKHR::eTemporalLayerPatternDyadic : return "TemporalLayerPatternDyadic";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_KHR_video_encode_h265 ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeH265CapabilityFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeH265CapabilityFlagBitsKHR::eHrdCompliance : return "HrdCompliance";
      case VideoEncodeH265CapabilityFlagBitsKHR::ePredictionWeightTableGenerated : return "PredictionWeightTableGenerated";
      case VideoEncodeH265CapabilityFlagBitsKHR::eRowUnalignedSliceSegment : return "RowUnalignedSliceSegment";
      case VideoEncodeH265CapabilityFlagBitsKHR::eDifferentSliceSegmentType : return "DifferentSliceSegmentType";
      case VideoEncodeH265CapabilityFlagBitsKHR::eBFrameInL0List : return "BFrameInL0List";
      case VideoEncodeH265CapabilityFlagBitsKHR::eBFrameInL1List : return "BFrameInL1List";
      case VideoEncodeH265CapabilityFlagBitsKHR::ePerPictureTypeMinMaxQp : return "PerPictureTypeMinMaxQp";
      case VideoEncodeH265CapabilityFlagBitsKHR::ePerSliceSegmentConstantQp : return "PerSliceSegmentConstantQp";
      case VideoEncodeH265CapabilityFlagBitsKHR::eMultipleTilesPerSliceSegment : return "MultipleTilesPerSliceSegment";
      case VideoEncodeH265CapabilityFlagBitsKHR::eMultipleSliceSegmentsPerTile : return "MultipleSliceSegmentsPerTile";
      case VideoEncodeH265CapabilityFlagBitsKHR::eCuQpDiffWraparound : return "CuQpDiffWraparound";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeH265StdFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeH265StdFlagBitsKHR::eSeparateColorPlaneFlagSet : return "SeparateColorPlaneFlagSet";
      case VideoEncodeH265StdFlagBitsKHR::eSampleAdaptiveOffsetEnabledFlagSet : return "SampleAdaptiveOffsetEnabledFlagSet";
      case VideoEncodeH265StdFlagBitsKHR::eScalingListDataPresentFlagSet : return "ScalingListDataPresentFlagSet";
      case VideoEncodeH265StdFlagBitsKHR::ePcmEnabledFlagSet : return "PcmEnabledFlagSet";
      case VideoEncodeH265StdFlagBitsKHR::eSpsTemporalMvpEnabledFlagSet : return "SpsTemporalMvpEnabledFlagSet";
      case VideoEncodeH265StdFlagBitsKHR::eInitQpMinus26 : return "InitQpMinus26";
      case VideoEncodeH265StdFlagBitsKHR::eWeightedPredFlagSet : return "WeightedPredFlagSet";
      case VideoEncodeH265StdFlagBitsKHR::eWeightedBipredFlagSet : return "WeightedBipredFlagSet";
      case VideoEncodeH265StdFlagBitsKHR::eLog2ParallelMergeLevelMinus2 : return "Log2ParallelMergeLevelMinus2";
      case VideoEncodeH265StdFlagBitsKHR::eSignDataHidingEnabledFlagSet : return "SignDataHidingEnabledFlagSet";
      case VideoEncodeH265StdFlagBitsKHR::eTransformSkipEnabledFlagSet : return "TransformSkipEnabledFlagSet";
      case VideoEncodeH265StdFlagBitsKHR::eTransformSkipEnabledFlagUnset : return "TransformSkipEnabledFlagUnset";
      case VideoEncodeH265StdFlagBitsKHR::ePpsSliceChromaQpOffsetsPresentFlagSet : return "PpsSliceChromaQpOffsetsPresentFlagSet";
      case VideoEncodeH265StdFlagBitsKHR::eTransquantBypassEnabledFlagSet : return "TransquantBypassEnabledFlagSet";
      case VideoEncodeH265StdFlagBitsKHR::eConstrainedIntraPredFlagSet : return "ConstrainedIntraPredFlagSet";
      case VideoEncodeH265StdFlagBitsKHR::eEntropyCodingSyncEnabledFlagSet : return "EntropyCodingSyncEnabledFlagSet";
      case VideoEncodeH265StdFlagBitsKHR::eDeblockingFilterOverrideEnabledFlagSet : return "DeblockingFilterOverrideEnabledFlagSet";
      case VideoEncodeH265StdFlagBitsKHR::eDependentSliceSegmentsEnabledFlagSet : return "DependentSliceSegmentsEnabledFlagSet";
      case VideoEncodeH265StdFlagBitsKHR::eDependentSliceSegmentFlagSet : return "DependentSliceSegmentFlagSet";
      case VideoEncodeH265StdFlagBitsKHR::eSliceQpDelta : return "SliceQpDelta";
      case VideoEncodeH265StdFlagBitsKHR::eDifferentSliceQpDelta : return "DifferentSliceQpDelta";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeH265CtbSizeFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeH265CtbSizeFlagBitsKHR::e16 : return "16";
      case VideoEncodeH265CtbSizeFlagBitsKHR::e32 : return "32";
      case VideoEncodeH265CtbSizeFlagBitsKHR::e64 : return "64";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeH265TransformBlockSizeFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeH265TransformBlockSizeFlagBitsKHR::e4 : return "4";
      case VideoEncodeH265TransformBlockSizeFlagBitsKHR::e8 : return "8";
      case VideoEncodeH265TransformBlockSizeFlagBitsKHR::e16 : return "16";
      case VideoEncodeH265TransformBlockSizeFlagBitsKHR::e32 : return "32";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeH265RateControlFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeH265RateControlFlagBitsKHR::eAttemptHrdCompliance : return "AttemptHrdCompliance";
      case VideoEncodeH265RateControlFlagBitsKHR::eRegularGop : return "RegularGop";
      case VideoEncodeH265RateControlFlagBitsKHR::eReferencePatternFlat : return "ReferencePatternFlat";
      case VideoEncodeH265RateControlFlagBitsKHR::eReferencePatternDyadic : return "ReferencePatternDyadic";
      case VideoEncodeH265RateControlFlagBitsKHR::eTemporalSubLayerPatternDyadic : return "TemporalSubLayerPatternDyadic";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_KHR_video_decode_h264 ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoDecodeH264PictureLayoutFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoDecodeH264PictureLayoutFlagBitsKHR::eProgressive : return "Progressive";
      case VideoDecodeH264PictureLayoutFlagBitsKHR::eInterlacedInterleavedLines : return "InterlacedInterleavedLines";
      case VideoDecodeH264PictureLayoutFlagBitsKHR::eInterlacedSeparatePlanes : return "InterlacedSeparatePlanes";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_AMD_shader_info ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ShaderInfoTypeAMD value )
  {
    switch ( value )
    {
      case ShaderInfoTypeAMD::eStatistics : return "Statistics";
      case ShaderInfoTypeAMD::eBinary : return "Binary";
      case ShaderInfoTypeAMD::eDisassembly : return "Disassembly";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

#if defined( VK_USE_PLATFORM_GGP )
  //=== VK_GGP_stream_descriptor_surface ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( StreamDescriptorSurfaceCreateFlagBitsGGP )
  {
    return "(void)";
  }
#endif /*VK_USE_PLATFORM_GGP*/

  //=== VK_NV_external_memory_capabilities ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ExternalMemoryHandleTypeFlagBitsNV value )
  {
    switch ( value )
    {
      case ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32 : return "OpaqueWin32";
      case ExternalMemoryHandleTypeFlagBitsNV::eOpaqueWin32Kmt : return "OpaqueWin32Kmt";
      case ExternalMemoryHandleTypeFlagBitsNV::eD3D11Image : return "D3D11Image";
      case ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt : return "D3D11ImageKmt";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ExternalMemoryFeatureFlagBitsNV value )
  {
    switch ( value )
    {
      case ExternalMemoryFeatureFlagBitsNV::eDedicatedOnly : return "DedicatedOnly";
      case ExternalMemoryFeatureFlagBitsNV::eExportable : return "Exportable";
      case ExternalMemoryFeatureFlagBitsNV::eImportable : return "Importable";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_EXT_validation_flags ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ValidationCheckEXT value )
  {
    switch ( value )
    {
      case ValidationCheckEXT::eAll : return "All";
      case ValidationCheckEXT::eShaders : return "Shaders";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

#if defined( VK_USE_PLATFORM_VI_NN )
  //=== VK_NN_vi_surface ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ViSurfaceCreateFlagBitsNN )
  {
    return "(void)";
  }
#endif /*VK_USE_PLATFORM_VI_NN*/

  //=== VK_EXT_conditional_rendering ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ConditionalRenderingFlagBitsEXT value )
  {
    switch ( value )
    {
      case ConditionalRenderingFlagBitsEXT::eInverted : return "Inverted";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_EXT_display_surface_counter ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SurfaceCounterFlagBitsEXT value )
  {
    switch ( value )
    {
      case SurfaceCounterFlagBitsEXT::eVblank : return "Vblank";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_EXT_display_control ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DisplayPowerStateEXT value )
  {
    switch ( value )
    {
      case DisplayPowerStateEXT::eOff : return "Off";
      case DisplayPowerStateEXT::eSuspend : return "Suspend";
      case DisplayPowerStateEXT::eOn : return "On";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DeviceEventTypeEXT value )
  {
    switch ( value )
    {
      case DeviceEventTypeEXT::eDisplayHotplug : return "DisplayHotplug";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DisplayEventTypeEXT value )
  {
    switch ( value )
    {
      case DisplayEventTypeEXT::eFirstPixelOut : return "FirstPixelOut";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_NV_viewport_swizzle ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ViewportCoordinateSwizzleNV value )
  {
    switch ( value )
    {
      case ViewportCoordinateSwizzleNV::ePositiveX : return "PositiveX";
      case ViewportCoordinateSwizzleNV::eNegativeX : return "NegativeX";
      case ViewportCoordinateSwizzleNV::ePositiveY : return "PositiveY";
      case ViewportCoordinateSwizzleNV::eNegativeY : return "NegativeY";
      case ViewportCoordinateSwizzleNV::ePositiveZ : return "PositiveZ";
      case ViewportCoordinateSwizzleNV::eNegativeZ : return "NegativeZ";
      case ViewportCoordinateSwizzleNV::ePositiveW : return "PositiveW";
      case ViewportCoordinateSwizzleNV::eNegativeW : return "NegativeW";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineViewportSwizzleStateCreateFlagBitsNV )
  {
    return "(void)";
  }

  //=== VK_EXT_discard_rectangles ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DiscardRectangleModeEXT value )
  {
    switch ( value )
    {
      case DiscardRectangleModeEXT::eInclusive : return "Inclusive";
      case DiscardRectangleModeEXT::eExclusive : return "Exclusive";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineDiscardRectangleStateCreateFlagBitsEXT )
  {
    return "(void)";
  }

  //=== VK_EXT_conservative_rasterization ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ConservativeRasterizationModeEXT value )
  {
    switch ( value )
    {
      case ConservativeRasterizationModeEXT::eDisabled : return "Disabled";
      case ConservativeRasterizationModeEXT::eOverestimate : return "Overestimate";
      case ConservativeRasterizationModeEXT::eUnderestimate : return "Underestimate";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineRasterizationConservativeStateCreateFlagBitsEXT )
  {
    return "(void)";
  }

  //=== VK_EXT_depth_clip_enable ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineRasterizationDepthClipStateCreateFlagBitsEXT )
  {
    return "(void)";
  }

  //=== VK_KHR_performance_query ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PerformanceCounterDescriptionFlagBitsKHR value )
  {
    switch ( value )
    {
      case PerformanceCounterDescriptionFlagBitsKHR::ePerformanceImpacting : return "PerformanceImpacting";
      case PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted : return "ConcurrentlyImpacted";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PerformanceCounterScopeKHR value )
  {
    switch ( value )
    {
      case PerformanceCounterScopeKHR::eCommandBuffer : return "CommandBuffer";
      case PerformanceCounterScopeKHR::eRenderPass : return "RenderPass";
      case PerformanceCounterScopeKHR::eCommand : return "Command";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PerformanceCounterStorageKHR value )
  {
    switch ( value )
    {
      case PerformanceCounterStorageKHR::eInt32 : return "Int32";
      case PerformanceCounterStorageKHR::eInt64 : return "Int64";
      case PerformanceCounterStorageKHR::eUint32 : return "Uint32";
      case PerformanceCounterStorageKHR::eUint64 : return "Uint64";
      case PerformanceCounterStorageKHR::eFloat32 : return "Float32";
      case PerformanceCounterStorageKHR::eFloat64 : return "Float64";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PerformanceCounterUnitKHR value )
  {
    switch ( value )
    {
      case PerformanceCounterUnitKHR::eGeneric : return "Generic";
      case PerformanceCounterUnitKHR::ePercentage : return "Percentage";
      case PerformanceCounterUnitKHR::eNanoseconds : return "Nanoseconds";
      case PerformanceCounterUnitKHR::eBytes : return "Bytes";
      case PerformanceCounterUnitKHR::eBytesPerSecond : return "BytesPerSecond";
      case PerformanceCounterUnitKHR::eKelvin : return "Kelvin";
      case PerformanceCounterUnitKHR::eWatts : return "Watts";
      case PerformanceCounterUnitKHR::eVolts : return "Volts";
      case PerformanceCounterUnitKHR::eAmps : return "Amps";
      case PerformanceCounterUnitKHR::eHertz : return "Hertz";
      case PerformanceCounterUnitKHR::eCycles : return "Cycles";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AcquireProfilingLockFlagBitsKHR )
  {
    return "(void)";
  }

#if defined( VK_USE_PLATFORM_IOS_MVK )
  //=== VK_MVK_ios_surface ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( IOSSurfaceCreateFlagBitsMVK )
  {
    return "(void)";
  }
#endif /*VK_USE_PLATFORM_IOS_MVK*/

#if defined( VK_USE_PLATFORM_MACOS_MVK )
  //=== VK_MVK_macos_surface ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( MacOSSurfaceCreateFlagBitsMVK )
  {
    return "(void)";
  }
#endif /*VK_USE_PLATFORM_MACOS_MVK*/

  //=== VK_EXT_debug_utils ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DebugUtilsMessageSeverityFlagBitsEXT value )
  {
    switch ( value )
    {
      case DebugUtilsMessageSeverityFlagBitsEXT::eVerbose : return "Verbose";
      case DebugUtilsMessageSeverityFlagBitsEXT::eInfo : return "Info";
      case DebugUtilsMessageSeverityFlagBitsEXT::eWarning : return "Warning";
      case DebugUtilsMessageSeverityFlagBitsEXT::eError : return "Error";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DebugUtilsMessageTypeFlagBitsEXT value )
  {
    switch ( value )
    {
      case DebugUtilsMessageTypeFlagBitsEXT::eGeneral : return "General";
      case DebugUtilsMessageTypeFlagBitsEXT::eValidation : return "Validation";
      case DebugUtilsMessageTypeFlagBitsEXT::ePerformance : return "Performance";
      case DebugUtilsMessageTypeFlagBitsEXT::eDeviceAddressBinding : return "DeviceAddressBinding";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DebugUtilsMessengerCallbackDataFlagBitsEXT )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DebugUtilsMessengerCreateFlagBitsEXT )
  {
    return "(void)";
  }

  //=== VK_EXT_blend_operation_advanced ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( BlendOverlapEXT value )
  {
    switch ( value )
    {
      case BlendOverlapEXT::eUncorrelated : return "Uncorrelated";
      case BlendOverlapEXT::eDisjoint : return "Disjoint";
      case BlendOverlapEXT::eConjoint : return "Conjoint";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_NV_fragment_coverage_to_color ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineCoverageToColorStateCreateFlagBitsNV )
  {
    return "(void)";
  }

  //=== VK_KHR_acceleration_structure ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AccelerationStructureTypeKHR value )
  {
    switch ( value )
    {
      case AccelerationStructureTypeKHR::eTopLevel : return "TopLevel";
      case AccelerationStructureTypeKHR::eBottomLevel : return "BottomLevel";
      case AccelerationStructureTypeKHR::eGeneric : return "Generic";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AccelerationStructureBuildTypeKHR value )
  {
    switch ( value )
    {
      case AccelerationStructureBuildTypeKHR::eHost : return "Host";
      case AccelerationStructureBuildTypeKHR::eDevice : return "Device";
      case AccelerationStructureBuildTypeKHR::eHostOrDevice : return "HostOrDevice";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( GeometryFlagBitsKHR value )
  {
    switch ( value )
    {
      case GeometryFlagBitsKHR::eOpaque : return "Opaque";
      case GeometryFlagBitsKHR::eNoDuplicateAnyHitInvocation : return "NoDuplicateAnyHitInvocation";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( GeometryInstanceFlagBitsKHR value )
  {
    switch ( value )
    {
      case GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable : return "TriangleFacingCullDisable";
      case GeometryInstanceFlagBitsKHR::eTriangleFlipFacing : return "TriangleFlipFacing";
      case GeometryInstanceFlagBitsKHR::eForceOpaque : return "ForceOpaque";
      case GeometryInstanceFlagBitsKHR::eForceNoOpaque : return "ForceNoOpaque";
      case GeometryInstanceFlagBitsKHR::eForceOpacityMicromap2StateEXT : return "ForceOpacityMicromap2StateEXT";
      case GeometryInstanceFlagBitsKHR::eDisableOpacityMicromapsEXT : return "DisableOpacityMicromapsEXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( BuildAccelerationStructureFlagBitsKHR value )
  {
    switch ( value )
    {
      case BuildAccelerationStructureFlagBitsKHR::eAllowUpdate : return "AllowUpdate";
      case BuildAccelerationStructureFlagBitsKHR::eAllowCompaction : return "AllowCompaction";
      case BuildAccelerationStructureFlagBitsKHR::ePreferFastTrace : return "PreferFastTrace";
      case BuildAccelerationStructureFlagBitsKHR::ePreferFastBuild : return "PreferFastBuild";
      case BuildAccelerationStructureFlagBitsKHR::eLowMemory : return "LowMemory";
      case BuildAccelerationStructureFlagBitsKHR::eMotionNV : return "MotionNV";
      case BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapUpdateEXT : return "AllowOpacityMicromapUpdateEXT";
      case BuildAccelerationStructureFlagBitsKHR::eAllowDisableOpacityMicromapsEXT : return "AllowDisableOpacityMicromapsEXT";
      case BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapDataUpdateEXT : return "AllowOpacityMicromapDataUpdateEXT";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
      case BuildAccelerationStructureFlagBitsKHR::eAllowDisplacementMicromapUpdateNV : return "AllowDisplacementMicromapUpdateNV";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
      case BuildAccelerationStructureFlagBitsKHR::eAllowDataAccess : return "AllowDataAccess";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CopyAccelerationStructureModeKHR value )
  {
    switch ( value )
    {
      case CopyAccelerationStructureModeKHR::eClone : return "Clone";
      case CopyAccelerationStructureModeKHR::eCompact : return "Compact";
      case CopyAccelerationStructureModeKHR::eSerialize : return "Serialize";
      case CopyAccelerationStructureModeKHR::eDeserialize : return "Deserialize";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( GeometryTypeKHR value )
  {
    switch ( value )
    {
      case GeometryTypeKHR::eTriangles : return "Triangles";
      case GeometryTypeKHR::eAabbs : return "Aabbs";
      case GeometryTypeKHR::eInstances : return "Instances";
      case GeometryTypeKHR::eSpheresNV : return "SpheresNV";
      case GeometryTypeKHR::eLinearSweptSpheresNV : return "LinearSweptSpheresNV";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AccelerationStructureCompatibilityKHR value )
  {
    switch ( value )
    {
      case AccelerationStructureCompatibilityKHR::eCompatible : return "Compatible";
      case AccelerationStructureCompatibilityKHR::eIncompatible : return "Incompatible";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AccelerationStructureCreateFlagBitsKHR value )
  {
    switch ( value )
    {
      case AccelerationStructureCreateFlagBitsKHR::eDeviceAddressCaptureReplay : return "DeviceAddressCaptureReplay";
      case AccelerationStructureCreateFlagBitsKHR::eDescriptorBufferCaptureReplayEXT : return "DescriptorBufferCaptureReplayEXT";
      case AccelerationStructureCreateFlagBitsKHR::eMotionNV : return "MotionNV";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( BuildAccelerationStructureModeKHR value )
  {
    switch ( value )
    {
      case BuildAccelerationStructureModeKHR::eBuild : return "Build";
      case BuildAccelerationStructureModeKHR::eUpdate : return "Update";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_KHR_ray_tracing_pipeline ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( RayTracingShaderGroupTypeKHR value )
  {
    switch ( value )
    {
      case RayTracingShaderGroupTypeKHR::eGeneral : return "General";
      case RayTracingShaderGroupTypeKHR::eTrianglesHitGroup : return "TrianglesHitGroup";
      case RayTracingShaderGroupTypeKHR::eProceduralHitGroup : return "ProceduralHitGroup";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ShaderGroupShaderKHR value )
  {
    switch ( value )
    {
      case ShaderGroupShaderKHR::eGeneral : return "General";
      case ShaderGroupShaderKHR::eClosestHit : return "ClosestHit";
      case ShaderGroupShaderKHR::eAnyHit : return "AnyHit";
      case ShaderGroupShaderKHR::eIntersection : return "Intersection";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_NV_framebuffer_mixed_samples ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CoverageModulationModeNV value )
  {
    switch ( value )
    {
      case CoverageModulationModeNV::eNone : return "None";
      case CoverageModulationModeNV::eRgb : return "Rgb";
      case CoverageModulationModeNV::eAlpha : return "Alpha";
      case CoverageModulationModeNV::eRgba : return "Rgba";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineCoverageModulationStateCreateFlagBitsNV )
  {
    return "(void)";
  }

  //=== VK_EXT_validation_cache ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ValidationCacheHeaderVersionEXT value )
  {
    switch ( value )
    {
      case ValidationCacheHeaderVersionEXT::eOne : return "One";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ValidationCacheCreateFlagBitsEXT )
  {
    return "(void)";
  }

  //=== VK_NV_shading_rate_image ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ShadingRatePaletteEntryNV value )
  {
    switch ( value )
    {
      case ShadingRatePaletteEntryNV::eNoInvocations : return "NoInvocations";
      case ShadingRatePaletteEntryNV::e16InvocationsPerPixel : return "16InvocationsPerPixel";
      case ShadingRatePaletteEntryNV::e8InvocationsPerPixel : return "8InvocationsPerPixel";
      case ShadingRatePaletteEntryNV::e4InvocationsPerPixel : return "4InvocationsPerPixel";
      case ShadingRatePaletteEntryNV::e2InvocationsPerPixel : return "2InvocationsPerPixel";
      case ShadingRatePaletteEntryNV::e1InvocationPerPixel : return "1InvocationPerPixel";
      case ShadingRatePaletteEntryNV::e1InvocationPer2X1Pixels : return "1InvocationPer2X1Pixels";
      case ShadingRatePaletteEntryNV::e1InvocationPer1X2Pixels : return "1InvocationPer1X2Pixels";
      case ShadingRatePaletteEntryNV::e1InvocationPer2X2Pixels : return "1InvocationPer2X2Pixels";
      case ShadingRatePaletteEntryNV::e1InvocationPer4X2Pixels : return "1InvocationPer4X2Pixels";
      case ShadingRatePaletteEntryNV::e1InvocationPer2X4Pixels : return "1InvocationPer2X4Pixels";
      case ShadingRatePaletteEntryNV::e1InvocationPer4X4Pixels : return "1InvocationPer4X4Pixels";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CoarseSampleOrderTypeNV value )
  {
    switch ( value )
    {
      case CoarseSampleOrderTypeNV::eDefault : return "Default";
      case CoarseSampleOrderTypeNV::eCustom : return "Custom";
      case CoarseSampleOrderTypeNV::ePixelMajor : return "PixelMajor";
      case CoarseSampleOrderTypeNV::eSampleMajor : return "SampleMajor";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_NV_ray_tracing ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AccelerationStructureMemoryRequirementsTypeNV value )
  {
    switch ( value )
    {
      case AccelerationStructureMemoryRequirementsTypeNV::eObject : return "Object";
      case AccelerationStructureMemoryRequirementsTypeNV::eBuildScratch : return "BuildScratch";
      case AccelerationStructureMemoryRequirementsTypeNV::eUpdateScratch : return "UpdateScratch";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_AMD_pipeline_compiler_control ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineCompilerControlFlagBitsAMD )
  {
    return "(void)";
  }

  //=== VK_AMD_memory_overallocation_behavior ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( MemoryOverallocationBehaviorAMD value )
  {
    switch ( value )
    {
      case MemoryOverallocationBehaviorAMD::eDefault : return "Default";
      case MemoryOverallocationBehaviorAMD::eAllowed : return "Allowed";
      case MemoryOverallocationBehaviorAMD::eDisallowed : return "Disallowed";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_INTEL_performance_query ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PerformanceConfigurationTypeINTEL value )
  {
    switch ( value )
    {
      case PerformanceConfigurationTypeINTEL::eCommandQueueMetricsDiscoveryActivated : return "CommandQueueMetricsDiscoveryActivated";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( QueryPoolSamplingModeINTEL value )
  {
    switch ( value )
    {
      case QueryPoolSamplingModeINTEL::eManual : return "Manual";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PerformanceOverrideTypeINTEL value )
  {
    switch ( value )
    {
      case PerformanceOverrideTypeINTEL::eNullHardware : return "NullHardware";
      case PerformanceOverrideTypeINTEL::eFlushGpuCaches : return "FlushGpuCaches";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PerformanceParameterTypeINTEL value )
  {
    switch ( value )
    {
      case PerformanceParameterTypeINTEL::eHwCountersSupported : return "HwCountersSupported";
      case PerformanceParameterTypeINTEL::eStreamMarkerValidBits : return "StreamMarkerValidBits";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PerformanceValueTypeINTEL value )
  {
    switch ( value )
    {
      case PerformanceValueTypeINTEL::eUint32 : return "Uint32";
      case PerformanceValueTypeINTEL::eUint64 : return "Uint64";
      case PerformanceValueTypeINTEL::eFloat : return "Float";
      case PerformanceValueTypeINTEL::eBool : return "Bool";
      case PerformanceValueTypeINTEL::eString : return "String";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

#if defined( VK_USE_PLATFORM_FUCHSIA )
  //=== VK_FUCHSIA_imagepipe_surface ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImagePipeSurfaceCreateFlagBitsFUCHSIA )
  {
    return "(void)";
  }
#endif /*VK_USE_PLATFORM_FUCHSIA*/

#if defined( VK_USE_PLATFORM_METAL_EXT )
  //=== VK_EXT_metal_surface ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( MetalSurfaceCreateFlagBitsEXT )
  {
    return "(void)";
  }
#endif /*VK_USE_PLATFORM_METAL_EXT*/

  //=== VK_KHR_fragment_shading_rate ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( FragmentShadingRateCombinerOpKHR value )
  {
    switch ( value )
    {
      case FragmentShadingRateCombinerOpKHR::eKeep : return "Keep";
      case FragmentShadingRateCombinerOpKHR::eReplace : return "Replace";
      case FragmentShadingRateCombinerOpKHR::eMin : return "Min";
      case FragmentShadingRateCombinerOpKHR::eMax : return "Max";
      case FragmentShadingRateCombinerOpKHR::eMul : return "Mul";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_AMD_shader_core_properties2 ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ShaderCorePropertiesFlagBitsAMD )
  {
    return "(void)";
  }

  //=== VK_EXT_validation_features ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ValidationFeatureEnableEXT value )
  {
    switch ( value )
    {
      case ValidationFeatureEnableEXT::eGpuAssisted : return "GpuAssisted";
      case ValidationFeatureEnableEXT::eGpuAssistedReserveBindingSlot : return "GpuAssistedReserveBindingSlot";
      case ValidationFeatureEnableEXT::eBestPractices : return "BestPractices";
      case ValidationFeatureEnableEXT::eDebugPrintf : return "DebugPrintf";
      case ValidationFeatureEnableEXT::eSynchronizationValidation : return "SynchronizationValidation";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ValidationFeatureDisableEXT value )
  {
    switch ( value )
    {
      case ValidationFeatureDisableEXT::eAll : return "All";
      case ValidationFeatureDisableEXT::eShaders : return "Shaders";
      case ValidationFeatureDisableEXT::eThreadSafety : return "ThreadSafety";
      case ValidationFeatureDisableEXT::eApiParameters : return "ApiParameters";
      case ValidationFeatureDisableEXT::eObjectLifetimes : return "ObjectLifetimes";
      case ValidationFeatureDisableEXT::eCoreChecks : return "CoreChecks";
      case ValidationFeatureDisableEXT::eUniqueHandles : return "UniqueHandles";
      case ValidationFeatureDisableEXT::eShaderValidationCache : return "ShaderValidationCache";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_NV_coverage_reduction_mode ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CoverageReductionModeNV value )
  {
    switch ( value )
    {
      case CoverageReductionModeNV::eMerge : return "Merge";
      case CoverageReductionModeNV::eTruncate : return "Truncate";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineCoverageReductionStateCreateFlagBitsNV )
  {
    return "(void)";
  }

  //=== VK_EXT_provoking_vertex ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ProvokingVertexModeEXT value )
  {
    switch ( value )
    {
      case ProvokingVertexModeEXT::eFirstVertex : return "FirstVertex";
      case ProvokingVertexModeEXT::eLastVertex : return "LastVertex";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

#if defined( VK_USE_PLATFORM_WIN32_KHR )
  //=== VK_EXT_full_screen_exclusive ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( FullScreenExclusiveEXT value )
  {
    switch ( value )
    {
      case FullScreenExclusiveEXT::eDefault : return "Default";
      case FullScreenExclusiveEXT::eAllowed : return "Allowed";
      case FullScreenExclusiveEXT::eDisallowed : return "Disallowed";
      case FullScreenExclusiveEXT::eApplicationControlled : return "ApplicationControlled";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }
#endif /*VK_USE_PLATFORM_WIN32_KHR*/

  //=== VK_EXT_headless_surface ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( HeadlessSurfaceCreateFlagBitsEXT )
  {
    return "(void)";
  }

  //=== VK_KHR_pipeline_executable_properties ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineExecutableStatisticFormatKHR value )
  {
    switch ( value )
    {
      case PipelineExecutableStatisticFormatKHR::eBool32 : return "Bool32";
      case PipelineExecutableStatisticFormatKHR::eInt64 : return "Int64";
      case PipelineExecutableStatisticFormatKHR::eUint64 : return "Uint64";
      case PipelineExecutableStatisticFormatKHR::eFloat64 : return "Float64";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_EXT_surface_maintenance1 ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PresentScalingFlagBitsEXT value )
  {
    switch ( value )
    {
      case PresentScalingFlagBitsEXT::eOneToOne : return "OneToOne";
      case PresentScalingFlagBitsEXT::eAspectRatioStretch : return "AspectRatioStretch";
      case PresentScalingFlagBitsEXT::eStretch : return "Stretch";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PresentGravityFlagBitsEXT value )
  {
    switch ( value )
    {
      case PresentGravityFlagBitsEXT::eMin : return "Min";
      case PresentGravityFlagBitsEXT::eMax : return "Max";
      case PresentGravityFlagBitsEXT::eCentered : return "Centered";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_NV_device_generated_commands ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( IndirectStateFlagBitsNV value )
  {
    switch ( value )
    {
      case IndirectStateFlagBitsNV::eFlagFrontface : return "FlagFrontface";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( IndirectCommandsTokenTypeNV value )
  {
    switch ( value )
    {
      case IndirectCommandsTokenTypeNV::eShaderGroup : return "ShaderGroup";
      case IndirectCommandsTokenTypeNV::eStateFlags : return "StateFlags";
      case IndirectCommandsTokenTypeNV::eIndexBuffer : return "IndexBuffer";
      case IndirectCommandsTokenTypeNV::eVertexBuffer : return "VertexBuffer";
      case IndirectCommandsTokenTypeNV::ePushConstant : return "PushConstant";
      case IndirectCommandsTokenTypeNV::eDrawIndexed : return "DrawIndexed";
      case IndirectCommandsTokenTypeNV::eDraw : return "Draw";
      case IndirectCommandsTokenTypeNV::eDrawTasks : return "DrawTasks";
      case IndirectCommandsTokenTypeNV::eDrawMeshTasks : return "DrawMeshTasks";
      case IndirectCommandsTokenTypeNV::ePipeline : return "Pipeline";
      case IndirectCommandsTokenTypeNV::eDispatch : return "Dispatch";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( IndirectCommandsLayoutUsageFlagBitsNV value )
  {
    switch ( value )
    {
      case IndirectCommandsLayoutUsageFlagBitsNV::eExplicitPreprocess : return "ExplicitPreprocess";
      case IndirectCommandsLayoutUsageFlagBitsNV::eIndexedSequences : return "IndexedSequences";
      case IndirectCommandsLayoutUsageFlagBitsNV::eUnorderedSequences : return "UnorderedSequences";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_EXT_depth_bias_control ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DepthBiasRepresentationEXT value )
  {
    switch ( value )
    {
      case DepthBiasRepresentationEXT::eLeastRepresentableValueFormat : return "LeastRepresentableValueFormat";
      case DepthBiasRepresentationEXT::eLeastRepresentableValueForceUnorm : return "LeastRepresentableValueForceUnorm";
      case DepthBiasRepresentationEXT::eFloat : return "Float";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_EXT_device_memory_report ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DeviceMemoryReportEventTypeEXT value )
  {
    switch ( value )
    {
      case DeviceMemoryReportEventTypeEXT::eAllocate : return "Allocate";
      case DeviceMemoryReportEventTypeEXT::eFree : return "Free";
      case DeviceMemoryReportEventTypeEXT::eImport : return "Import";
      case DeviceMemoryReportEventTypeEXT::eUnimport : return "Unimport";
      case DeviceMemoryReportEventTypeEXT::eAllocationFailed : return "AllocationFailed";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DeviceMemoryReportFlagBitsEXT )
  {
    return "(void)";
  }

  //=== VK_KHR_video_encode_queue ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeCapabilityFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeCapabilityFlagBitsKHR::ePrecedingExternallyEncodedBytes : return "PrecedingExternallyEncodedBytes";
      case VideoEncodeCapabilityFlagBitsKHR::eInsufficientBitstreamBufferRangeDetection : return "InsufficientBitstreamBufferRangeDetection";
      case VideoEncodeCapabilityFlagBitsKHR::eQuantizationDeltaMap : return "QuantizationDeltaMap";
      case VideoEncodeCapabilityFlagBitsKHR::eEmphasisMap : return "EmphasisMap";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeFeedbackFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeFeedbackFlagBitsKHR::eBitstreamBufferOffset : return "BitstreamBufferOffset";
      case VideoEncodeFeedbackFlagBitsKHR::eBitstreamBytesWritten : return "BitstreamBytesWritten";
      case VideoEncodeFeedbackFlagBitsKHR::eBitstreamHasOverrides : return "BitstreamHasOverrides";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeUsageFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeUsageFlagBitsKHR::eDefault : return "Default";
      case VideoEncodeUsageFlagBitsKHR::eTranscoding : return "Transcoding";
      case VideoEncodeUsageFlagBitsKHR::eStreaming : return "Streaming";
      case VideoEncodeUsageFlagBitsKHR::eRecording : return "Recording";
      case VideoEncodeUsageFlagBitsKHR::eConferencing : return "Conferencing";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeContentFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeContentFlagBitsKHR::eDefault : return "Default";
      case VideoEncodeContentFlagBitsKHR::eCamera : return "Camera";
      case VideoEncodeContentFlagBitsKHR::eDesktop : return "Desktop";
      case VideoEncodeContentFlagBitsKHR::eRendered : return "Rendered";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeTuningModeKHR value )
  {
    switch ( value )
    {
      case VideoEncodeTuningModeKHR::eDefault : return "Default";
      case VideoEncodeTuningModeKHR::eHighQuality : return "HighQuality";
      case VideoEncodeTuningModeKHR::eLowLatency : return "LowLatency";
      case VideoEncodeTuningModeKHR::eUltraLowLatency : return "UltraLowLatency";
      case VideoEncodeTuningModeKHR::eLossless : return "Lossless";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeRateControlModeFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeRateControlModeFlagBitsKHR::eDefault : return "Default";
      case VideoEncodeRateControlModeFlagBitsKHR::eDisabled : return "Disabled";
      case VideoEncodeRateControlModeFlagBitsKHR::eCbr : return "Cbr";
      case VideoEncodeRateControlModeFlagBitsKHR::eVbr : return "Vbr";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeFlagBitsKHR::eWithQuantizationDeltaMap : return "WithQuantizationDeltaMap";
      case VideoEncodeFlagBitsKHR::eWithEmphasisMap : return "WithEmphasisMap";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeRateControlFlagBitsKHR )
  {
    return "(void)";
  }

  //=== VK_NV_device_diagnostics_config ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DeviceDiagnosticsConfigFlagBitsNV value )
  {
    switch ( value )
    {
      case DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderDebugInfo : return "EnableShaderDebugInfo";
      case DeviceDiagnosticsConfigFlagBitsNV::eEnableResourceTracking : return "EnableResourceTracking";
      case DeviceDiagnosticsConfigFlagBitsNV::eEnableAutomaticCheckpoints : return "EnableAutomaticCheckpoints";
      case DeviceDiagnosticsConfigFlagBitsNV::eEnableShaderErrorReporting : return "EnableShaderErrorReporting";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_QCOM_tile_shading ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( TileShadingRenderPassFlagBitsQCOM value )
  {
    switch ( value )
    {
      case TileShadingRenderPassFlagBitsQCOM::eEnable : return "Enable";
      case TileShadingRenderPassFlagBitsQCOM::ePerTileExecution : return "PerTileExecution";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

#if defined( VK_USE_PLATFORM_METAL_EXT )
  //=== VK_EXT_metal_objects ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ExportMetalObjectTypeFlagBitsEXT value )
  {
    switch ( value )
    {
      case ExportMetalObjectTypeFlagBitsEXT::eMetalDevice : return "MetalDevice";
      case ExportMetalObjectTypeFlagBitsEXT::eMetalCommandQueue : return "MetalCommandQueue";
      case ExportMetalObjectTypeFlagBitsEXT::eMetalBuffer : return "MetalBuffer";
      case ExportMetalObjectTypeFlagBitsEXT::eMetalTexture : return "MetalTexture";
      case ExportMetalObjectTypeFlagBitsEXT::eMetalIosurface : return "MetalIosurface";
      case ExportMetalObjectTypeFlagBitsEXT::eMetalSharedEvent : return "MetalSharedEvent";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }
#endif /*VK_USE_PLATFORM_METAL_EXT*/

  //=== VK_EXT_graphics_pipeline_library ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( GraphicsPipelineLibraryFlagBitsEXT value )
  {
    switch ( value )
    {
      case GraphicsPipelineLibraryFlagBitsEXT::eVertexInputInterface : return "VertexInputInterface";
      case GraphicsPipelineLibraryFlagBitsEXT::ePreRasterizationShaders : return "PreRasterizationShaders";
      case GraphicsPipelineLibraryFlagBitsEXT::eFragmentShader : return "FragmentShader";
      case GraphicsPipelineLibraryFlagBitsEXT::eFragmentOutputInterface : return "FragmentOutputInterface";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_NV_fragment_shading_rate_enums ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( FragmentShadingRateNV value )
  {
    switch ( value )
    {
      case FragmentShadingRateNV::e1InvocationPerPixel : return "1InvocationPerPixel";
      case FragmentShadingRateNV::e1InvocationPer1X2Pixels : return "1InvocationPer1X2Pixels";
      case FragmentShadingRateNV::e1InvocationPer2X1Pixels : return "1InvocationPer2X1Pixels";
      case FragmentShadingRateNV::e1InvocationPer2X2Pixels : return "1InvocationPer2X2Pixels";
      case FragmentShadingRateNV::e1InvocationPer2X4Pixels : return "1InvocationPer2X4Pixels";
      case FragmentShadingRateNV::e1InvocationPer4X2Pixels : return "1InvocationPer4X2Pixels";
      case FragmentShadingRateNV::e1InvocationPer4X4Pixels : return "1InvocationPer4X4Pixels";
      case FragmentShadingRateNV::e2InvocationsPerPixel : return "2InvocationsPerPixel";
      case FragmentShadingRateNV::e4InvocationsPerPixel : return "4InvocationsPerPixel";
      case FragmentShadingRateNV::e8InvocationsPerPixel : return "8InvocationsPerPixel";
      case FragmentShadingRateNV::e16InvocationsPerPixel : return "16InvocationsPerPixel";
      case FragmentShadingRateNV::eNoInvocations : return "NoInvocations";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( FragmentShadingRateTypeNV value )
  {
    switch ( value )
    {
      case FragmentShadingRateTypeNV::eFragmentSize : return "FragmentSize";
      case FragmentShadingRateTypeNV::eEnums : return "Enums";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_NV_ray_tracing_motion_blur ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AccelerationStructureMotionInstanceTypeNV value )
  {
    switch ( value )
    {
      case AccelerationStructureMotionInstanceTypeNV::eStatic : return "Static";
      case AccelerationStructureMotionInstanceTypeNV::eMatrixMotion : return "MatrixMotion";
      case AccelerationStructureMotionInstanceTypeNV::eSrtMotion : return "SrtMotion";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AccelerationStructureMotionInfoFlagBitsNV )
  {
    return "(void)";
  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AccelerationStructureMotionInstanceFlagBitsNV )
  {
    return "(void)";
  }

  //=== VK_EXT_image_compression_control ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImageCompressionFlagBitsEXT value )
  {
    switch ( value )
    {
      case ImageCompressionFlagBitsEXT::eDefault : return "Default";
      case ImageCompressionFlagBitsEXT::eFixedRateDefault : return "FixedRateDefault";
      case ImageCompressionFlagBitsEXT::eFixedRateExplicit : return "FixedRateExplicit";
      case ImageCompressionFlagBitsEXT::eDisabled : return "Disabled";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImageCompressionFixedRateFlagBitsEXT value )
  {
    switch ( value )
    {
      case ImageCompressionFixedRateFlagBitsEXT::eNone : return "None";
      case ImageCompressionFixedRateFlagBitsEXT::e1Bpc : return "1Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e2Bpc : return "2Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e3Bpc : return "3Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e4Bpc : return "4Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e5Bpc : return "5Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e6Bpc : return "6Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e7Bpc : return "7Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e8Bpc : return "8Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e9Bpc : return "9Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e10Bpc : return "10Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e11Bpc : return "11Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e12Bpc : return "12Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e13Bpc : return "13Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e14Bpc : return "14Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e15Bpc : return "15Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e16Bpc : return "16Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e17Bpc : return "17Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e18Bpc : return "18Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e19Bpc : return "19Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e20Bpc : return "20Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e21Bpc : return "21Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e22Bpc : return "22Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e23Bpc : return "23Bpc";
      case ImageCompressionFixedRateFlagBitsEXT::e24Bpc : return "24Bpc";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_EXT_device_fault ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DeviceFaultAddressTypeEXT value )
  {
    switch ( value )
    {
      case DeviceFaultAddressTypeEXT::eNone : return "None";
      case DeviceFaultAddressTypeEXT::eReadInvalid : return "ReadInvalid";
      case DeviceFaultAddressTypeEXT::eWriteInvalid : return "WriteInvalid";
      case DeviceFaultAddressTypeEXT::eExecuteInvalid : return "ExecuteInvalid";
      case DeviceFaultAddressTypeEXT::eInstructionPointerUnknown : return "InstructionPointerUnknown";
      case DeviceFaultAddressTypeEXT::eInstructionPointerInvalid : return "InstructionPointerInvalid";
      case DeviceFaultAddressTypeEXT::eInstructionPointerFault : return "InstructionPointerFault";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DeviceFaultVendorBinaryHeaderVersionEXT value )
  {
    switch ( value )
    {
      case DeviceFaultVendorBinaryHeaderVersionEXT::eOne : return "One";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

#if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
  //=== VK_EXT_directfb_surface ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DirectFBSurfaceCreateFlagBitsEXT )
  {
    return "(void)";
  }
#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/

  //=== VK_EXT_device_address_binding_report ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DeviceAddressBindingFlagBitsEXT value )
  {
    switch ( value )
    {
      case DeviceAddressBindingFlagBitsEXT::eInternalObject : return "InternalObject";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DeviceAddressBindingTypeEXT value )
  {
    switch ( value )
    {
      case DeviceAddressBindingTypeEXT::eBind : return "Bind";
      case DeviceAddressBindingTypeEXT::eUnbind : return "Unbind";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

#if defined( VK_USE_PLATFORM_FUCHSIA )
  //=== VK_FUCHSIA_buffer_collection ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImageConstraintsInfoFlagBitsFUCHSIA value )
  {
    switch ( value )
    {
      case ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadRarely : return "CpuReadRarely";
      case ImageConstraintsInfoFlagBitsFUCHSIA::eCpuReadOften : return "CpuReadOften";
      case ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteRarely : return "CpuWriteRarely";
      case ImageConstraintsInfoFlagBitsFUCHSIA::eCpuWriteOften : return "CpuWriteOften";
      case ImageConstraintsInfoFlagBitsFUCHSIA::eProtectedOptional : return "ProtectedOptional";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImageFormatConstraintsFlagBitsFUCHSIA )
  {
    return "(void)";
  }
#endif /*VK_USE_PLATFORM_FUCHSIA*/

  //=== VK_EXT_frame_boundary ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( FrameBoundaryFlagBitsEXT value )
  {
    switch ( value )
    {
      case FrameBoundaryFlagBitsEXT::eFrameEnd : return "FrameEnd";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

#if defined( VK_USE_PLATFORM_SCREEN_QNX )
  //=== VK_QNX_screen_surface ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ScreenSurfaceCreateFlagBitsQNX )
  {
    return "(void)";
  }
#endif /*VK_USE_PLATFORM_SCREEN_QNX*/

  //=== VK_EXT_opacity_micromap ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( MicromapTypeEXT value )
  {
    switch ( value )
    {
      case MicromapTypeEXT::eOpacityMicromap : return "OpacityMicromap";
#if defined( VK_ENABLE_BETA_EXTENSIONS )
      case MicromapTypeEXT::eDisplacementMicromapNV : return "DisplacementMicromapNV";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( BuildMicromapFlagBitsEXT value )
  {
    switch ( value )
    {
      case BuildMicromapFlagBitsEXT::ePreferFastTrace : return "PreferFastTrace";
      case BuildMicromapFlagBitsEXT::ePreferFastBuild : return "PreferFastBuild";
      case BuildMicromapFlagBitsEXT::eAllowCompaction : return "AllowCompaction";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CopyMicromapModeEXT value )
  {
    switch ( value )
    {
      case CopyMicromapModeEXT::eClone : return "Clone";
      case CopyMicromapModeEXT::eSerialize : return "Serialize";
      case CopyMicromapModeEXT::eDeserialize : return "Deserialize";
      case CopyMicromapModeEXT::eCompact : return "Compact";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( MicromapCreateFlagBitsEXT value )
  {
    switch ( value )
    {
      case MicromapCreateFlagBitsEXT::eDeviceAddressCaptureReplay : return "DeviceAddressCaptureReplay";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( BuildMicromapModeEXT value )
  {
    switch ( value )
    {
      case BuildMicromapModeEXT::eBuild : return "Build";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( OpacityMicromapFormatEXT value )
  {
    switch ( value )
    {
      case OpacityMicromapFormatEXT::e2State : return "2State";
      case OpacityMicromapFormatEXT::e4State : return "4State";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( OpacityMicromapSpecialIndexEXT value )
  {
    switch ( value )
    {
      case OpacityMicromapSpecialIndexEXT::eFullyTransparent : return "FullyTransparent";
      case OpacityMicromapSpecialIndexEXT::eFullyOpaque : return "FullyOpaque";
      case OpacityMicromapSpecialIndexEXT::eFullyUnknownTransparent : return "FullyUnknownTransparent";
      case OpacityMicromapSpecialIndexEXT::eFullyUnknownOpaque : return "FullyUnknownOpaque";
      case OpacityMicromapSpecialIndexEXT::eClusterGeometryDisableOpacityMicromapNV : return "ClusterGeometryDisableOpacityMicromapNV";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

#if defined( VK_ENABLE_BETA_EXTENSIONS )
  //=== VK_NV_displacement_micromap ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DisplacementMicromapFormatNV value )
  {
    switch ( value )
    {
      case DisplacementMicromapFormatNV::e64Triangles64Bytes : return "64Triangles64Bytes";
      case DisplacementMicromapFormatNV::e256Triangles128Bytes : return "256Triangles128Bytes";
      case DisplacementMicromapFormatNV::e1024Triangles128Bytes : return "1024Triangles128Bytes";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }
#endif /*VK_ENABLE_BETA_EXTENSIONS*/

  //=== VK_ARM_scheduling_controls ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PhysicalDeviceSchedulingControlsFlagBitsARM value )
  {
    switch ( value )
    {
      case PhysicalDeviceSchedulingControlsFlagBitsARM::eShaderCoreCount : return "ShaderCoreCount";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_NV_memory_decompression ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( MemoryDecompressionMethodFlagBitsNV value )
  {
    switch ( value )
    {
      case MemoryDecompressionMethodFlagBitsNV::eGdeflate10 : return "Gdeflate10";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_NV_ray_tracing_linear_swept_spheres ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( RayTracingLssIndexingModeNV value )
  {
    switch ( value )
    {
      case RayTracingLssIndexingModeNV::eList : return "List";
      case RayTracingLssIndexingModeNV::eSuccessive : return "Successive";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( RayTracingLssPrimitiveEndCapsModeNV value )
  {
    switch ( value )
    {
      case RayTracingLssPrimitiveEndCapsModeNV::eNone : return "None";
      case RayTracingLssPrimitiveEndCapsModeNV::eChained : return "Chained";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_EXT_subpass_merge_feedback ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SubpassMergeStatusEXT value )
  {
    switch ( value )
    {
      case SubpassMergeStatusEXT::eMerged : return "Merged";
      case SubpassMergeStatusEXT::eDisallowed : return "Disallowed";
      case SubpassMergeStatusEXT::eNotMergedSideEffects : return "NotMergedSideEffects";
      case SubpassMergeStatusEXT::eNotMergedSamplesMismatch : return "NotMergedSamplesMismatch";
      case SubpassMergeStatusEXT::eNotMergedViewsMismatch : return "NotMergedViewsMismatch";
      case SubpassMergeStatusEXT::eNotMergedAliasing : return "NotMergedAliasing";
      case SubpassMergeStatusEXT::eNotMergedDependencies : return "NotMergedDependencies";
      case SubpassMergeStatusEXT::eNotMergedIncompatibleInputAttachment : return "NotMergedIncompatibleInputAttachment";
      case SubpassMergeStatusEXT::eNotMergedTooManyAttachments : return "NotMergedTooManyAttachments";
      case SubpassMergeStatusEXT::eNotMergedInsufficientStorage : return "NotMergedInsufficientStorage";
      case SubpassMergeStatusEXT::eNotMergedDepthStencilCount : return "NotMergedDepthStencilCount";
      case SubpassMergeStatusEXT::eNotMergedResolveAttachmentReuse : return "NotMergedResolveAttachmentReuse";
      case SubpassMergeStatusEXT::eNotMergedSingleSubpass : return "NotMergedSingleSubpass";
      case SubpassMergeStatusEXT::eNotMergedUnspecified : return "NotMergedUnspecified";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_LUNARG_direct_driver_loading ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DirectDriverLoadingModeLUNARG value )
  {
    switch ( value )
    {
      case DirectDriverLoadingModeLUNARG::eExclusive : return "Exclusive";
      case DirectDriverLoadingModeLUNARG::eInclusive : return "Inclusive";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DirectDriverLoadingFlagBitsLUNARG )
  {
    return "(void)";
  }

  //=== VK_ARM_tensors ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( TensorCreateFlagBitsARM value )
  {
    switch ( value )
    {
      case TensorCreateFlagBitsARM::eMutableFormat : return "MutableFormat";
      case TensorCreateFlagBitsARM::eProtected : return "Protected";
      case TensorCreateFlagBitsARM::eDescriptorBufferCaptureReplay : return "DescriptorBufferCaptureReplay";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( TensorViewCreateFlagBitsARM value )
  {
    switch ( value )
    {
      case TensorViewCreateFlagBitsARM::eDescriptorBufferCaptureReplay : return "DescriptorBufferCaptureReplay";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( TensorUsageFlagBitsARM value )
  {
    switch ( value )
    {
      case TensorUsageFlagBitsARM::eShader : return "Shader";
      case TensorUsageFlagBitsARM::eTransferSrc : return "TransferSrc";
      case TensorUsageFlagBitsARM::eTransferDst : return "TransferDst";
      case TensorUsageFlagBitsARM::eImageAliasing : return "ImageAliasing";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( TensorTilingARM value )
  {
    switch ( value )
    {
      case TensorTilingARM::eOptimal : return "Optimal";
      case TensorTilingARM::eLinear : return "Linear";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_NV_optical_flow ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( OpticalFlowUsageFlagBitsNV value )
  {
    switch ( value )
    {
      case OpticalFlowUsageFlagBitsNV::eUnknown : return "Unknown";
      case OpticalFlowUsageFlagBitsNV::eInput : return "Input";
      case OpticalFlowUsageFlagBitsNV::eOutput : return "Output";
      case OpticalFlowUsageFlagBitsNV::eHint : return "Hint";
      case OpticalFlowUsageFlagBitsNV::eCost : return "Cost";
      case OpticalFlowUsageFlagBitsNV::eGlobalFlow : return "GlobalFlow";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( OpticalFlowGridSizeFlagBitsNV value )
  {
    switch ( value )
    {
      case OpticalFlowGridSizeFlagBitsNV::eUnknown : return "Unknown";
      case OpticalFlowGridSizeFlagBitsNV::e1X1 : return "1X1";
      case OpticalFlowGridSizeFlagBitsNV::e2X2 : return "2X2";
      case OpticalFlowGridSizeFlagBitsNV::e4X4 : return "4X4";
      case OpticalFlowGridSizeFlagBitsNV::e8X8 : return "8X8";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( OpticalFlowPerformanceLevelNV value )
  {
    switch ( value )
    {
      case OpticalFlowPerformanceLevelNV::eUnknown : return "Unknown";
      case OpticalFlowPerformanceLevelNV::eSlow : return "Slow";
      case OpticalFlowPerformanceLevelNV::eMedium : return "Medium";
      case OpticalFlowPerformanceLevelNV::eFast : return "Fast";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( OpticalFlowSessionBindingPointNV value )
  {
    switch ( value )
    {
      case OpticalFlowSessionBindingPointNV::eUnknown : return "Unknown";
      case OpticalFlowSessionBindingPointNV::eInput : return "Input";
      case OpticalFlowSessionBindingPointNV::eReference : return "Reference";
      case OpticalFlowSessionBindingPointNV::eHint : return "Hint";
      case OpticalFlowSessionBindingPointNV::eFlowVector : return "FlowVector";
      case OpticalFlowSessionBindingPointNV::eBackwardFlowVector : return "BackwardFlowVector";
      case OpticalFlowSessionBindingPointNV::eCost : return "Cost";
      case OpticalFlowSessionBindingPointNV::eBackwardCost : return "BackwardCost";
      case OpticalFlowSessionBindingPointNV::eGlobalFlow : return "GlobalFlow";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( OpticalFlowSessionCreateFlagBitsNV value )
  {
    switch ( value )
    {
      case OpticalFlowSessionCreateFlagBitsNV::eEnableHint : return "EnableHint";
      case OpticalFlowSessionCreateFlagBitsNV::eEnableCost : return "EnableCost";
      case OpticalFlowSessionCreateFlagBitsNV::eEnableGlobalFlow : return "EnableGlobalFlow";
      case OpticalFlowSessionCreateFlagBitsNV::eAllowRegions : return "AllowRegions";
      case OpticalFlowSessionCreateFlagBitsNV::eBothDirections : return "BothDirections";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( OpticalFlowExecuteFlagBitsNV value )
  {
    switch ( value )
    {
      case OpticalFlowExecuteFlagBitsNV::eDisableTemporalHints : return "DisableTemporalHints";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_AMD_anti_lag ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AntiLagModeAMD value )
  {
    switch ( value )
    {
      case AntiLagModeAMD::eDriverControl : return "DriverControl";
      case AntiLagModeAMD::eOn : return "On";
      case AntiLagModeAMD::eOff : return "Off";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AntiLagStageAMD value )
  {
    switch ( value )
    {
      case AntiLagStageAMD::eInput : return "Input";
      case AntiLagStageAMD::ePresent : return "Present";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_EXT_shader_object ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ShaderCreateFlagBitsEXT value )
  {
    switch ( value )
    {
      case ShaderCreateFlagBitsEXT::eLinkStage : return "LinkStage";
      case ShaderCreateFlagBitsEXT::eAllowVaryingSubgroupSize : return "AllowVaryingSubgroupSize";
      case ShaderCreateFlagBitsEXT::eRequireFullSubgroups : return "RequireFullSubgroups";
      case ShaderCreateFlagBitsEXT::eNoTaskShader : return "NoTaskShader";
      case ShaderCreateFlagBitsEXT::eDispatchBase : return "DispatchBase";
      case ShaderCreateFlagBitsEXT::eFragmentShadingRateAttachment : return "FragmentShadingRateAttachment";
      case ShaderCreateFlagBitsEXT::eFragmentDensityMapAttachment : return "FragmentDensityMapAttachment";
      case ShaderCreateFlagBitsEXT::eIndirectBindable : return "IndirectBindable";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ShaderCodeTypeEXT value )
  {
    switch ( value )
    {
      case ShaderCodeTypeEXT::eBinary : return "Binary";
      case ShaderCodeTypeEXT::eSpirv : return "Spirv";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_NV_ray_tracing_invocation_reorder ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( RayTracingInvocationReorderModeNV value )
  {
    switch ( value )
    {
      case RayTracingInvocationReorderModeNV::eNone : return "None";
      case RayTracingInvocationReorderModeNV::eReorder : return "Reorder";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_NV_cooperative_vector ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CooperativeVectorMatrixLayoutNV value )
  {
    switch ( value )
    {
      case CooperativeVectorMatrixLayoutNV::eRowMajor : return "RowMajor";
      case CooperativeVectorMatrixLayoutNV::eColumnMajor : return "ColumnMajor";
      case CooperativeVectorMatrixLayoutNV::eInferencingOptimal : return "InferencingOptimal";
      case CooperativeVectorMatrixLayoutNV::eTrainingOptimal : return "TrainingOptimal";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ComponentTypeKHR value )
  {
    switch ( value )
    {
      case ComponentTypeKHR::eFloat16 : return "Float16";
      case ComponentTypeKHR::eFloat32 : return "Float32";
      case ComponentTypeKHR::eFloat64 : return "Float64";
      case ComponentTypeKHR::eSint8 : return "Sint8";
      case ComponentTypeKHR::eSint16 : return "Sint16";
      case ComponentTypeKHR::eSint32 : return "Sint32";
      case ComponentTypeKHR::eSint64 : return "Sint64";
      case ComponentTypeKHR::eUint8 : return "Uint8";
      case ComponentTypeKHR::eUint16 : return "Uint16";
      case ComponentTypeKHR::eUint32 : return "Uint32";
      case ComponentTypeKHR::eUint64 : return "Uint64";
      case ComponentTypeKHR::eBfloat16 : return "Bfloat16";
      case ComponentTypeKHR::eSint8PackedNV : return "Sint8PackedNV";
      case ComponentTypeKHR::eUint8PackedNV : return "Uint8PackedNV";
      case ComponentTypeKHR::eFloat8E4M3EXT : return "Float8E4M3EXT";
      case ComponentTypeKHR::eFloat8E5M2EXT : return "Float8E5M2EXT";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_EXT_layer_settings ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( LayerSettingTypeEXT value )
  {
    switch ( value )
    {
      case LayerSettingTypeEXT::eBool32 : return "Bool32";
      case LayerSettingTypeEXT::eInt32 : return "Int32";
      case LayerSettingTypeEXT::eInt64 : return "Int64";
      case LayerSettingTypeEXT::eUint32 : return "Uint32";
      case LayerSettingTypeEXT::eUint64 : return "Uint64";
      case LayerSettingTypeEXT::eFloat32 : return "Float32";
      case LayerSettingTypeEXT::eFloat64 : return "Float64";
      case LayerSettingTypeEXT::eString : return "String";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_NV_low_latency2 ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( LatencyMarkerNV value )
  {
    switch ( value )
    {
      case LatencyMarkerNV::eSimulationStart : return "SimulationStart";
      case LatencyMarkerNV::eSimulationEnd : return "SimulationEnd";
      case LatencyMarkerNV::eRendersubmitStart : return "RendersubmitStart";
      case LatencyMarkerNV::eRendersubmitEnd : return "RendersubmitEnd";
      case LatencyMarkerNV::ePresentStart : return "PresentStart";
      case LatencyMarkerNV::ePresentEnd : return "PresentEnd";
      case LatencyMarkerNV::eInputSample : return "InputSample";
      case LatencyMarkerNV::eTriggerFlash : return "TriggerFlash";
      case LatencyMarkerNV::eOutOfBandRendersubmitStart : return "OutOfBandRendersubmitStart";
      case LatencyMarkerNV::eOutOfBandRendersubmitEnd : return "OutOfBandRendersubmitEnd";
      case LatencyMarkerNV::eOutOfBandPresentStart : return "OutOfBandPresentStart";
      case LatencyMarkerNV::eOutOfBandPresentEnd : return "OutOfBandPresentEnd";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( OutOfBandQueueTypeNV value )
  {
    switch ( value )
    {
      case OutOfBandQueueTypeNV::eRender : return "Render";
      case OutOfBandQueueTypeNV::ePresent : return "Present";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_KHR_cooperative_matrix ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ScopeKHR value )
  {
    switch ( value )
    {
      case ScopeKHR::eDevice : return "Device";
      case ScopeKHR::eWorkgroup : return "Workgroup";
      case ScopeKHR::eSubgroup : return "Subgroup";
      case ScopeKHR::eQueueFamily : return "QueueFamily";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_KHR_video_encode_av1 ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeAV1PredictionModeKHR value )
  {
    switch ( value )
    {
      case VideoEncodeAV1PredictionModeKHR::eIntraOnly : return "IntraOnly";
      case VideoEncodeAV1PredictionModeKHR::eSingleReference : return "SingleReference";
      case VideoEncodeAV1PredictionModeKHR::eUnidirectionalCompound : return "UnidirectionalCompound";
      case VideoEncodeAV1PredictionModeKHR::eBidirectionalCompound : return "BidirectionalCompound";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeAV1RateControlGroupKHR value )
  {
    switch ( value )
    {
      case VideoEncodeAV1RateControlGroupKHR::eIntra : return "Intra";
      case VideoEncodeAV1RateControlGroupKHR::ePredictive : return "Predictive";
      case VideoEncodeAV1RateControlGroupKHR::eBipredictive : return "Bipredictive";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeAV1CapabilityFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeAV1CapabilityFlagBitsKHR::ePerRateControlGroupMinMaxQIndex : return "PerRateControlGroupMinMaxQIndex";
      case VideoEncodeAV1CapabilityFlagBitsKHR::eGenerateObuExtensionHeader : return "GenerateObuExtensionHeader";
      case VideoEncodeAV1CapabilityFlagBitsKHR::ePrimaryReferenceCdfOnly : return "PrimaryReferenceCdfOnly";
      case VideoEncodeAV1CapabilityFlagBitsKHR::eFrameSizeOverride : return "FrameSizeOverride";
      case VideoEncodeAV1CapabilityFlagBitsKHR::eMotionVectorScaling : return "MotionVectorScaling";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeAV1StdFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeAV1StdFlagBitsKHR::eUniformTileSpacingFlagSet : return "UniformTileSpacingFlagSet";
      case VideoEncodeAV1StdFlagBitsKHR::eSkipModePresentUnset : return "SkipModePresentUnset";
      case VideoEncodeAV1StdFlagBitsKHR::ePrimaryRefFrame : return "PrimaryRefFrame";
      case VideoEncodeAV1StdFlagBitsKHR::eDeltaQ : return "DeltaQ";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeAV1SuperblockSizeFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeAV1SuperblockSizeFlagBitsKHR::e64 : return "64";
      case VideoEncodeAV1SuperblockSizeFlagBitsKHR::e128 : return "128";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodeAV1RateControlFlagBitsKHR value )
  {
    switch ( value )
    {
      case VideoEncodeAV1RateControlFlagBitsKHR::eRegularGop : return "RegularGop";
      case VideoEncodeAV1RateControlFlagBitsKHR::eTemporalLayerPatternDyadic : return "TemporalLayerPatternDyadic";
      case VideoEncodeAV1RateControlFlagBitsKHR::eReferencePatternFlat : return "ReferencePatternFlat";
      case VideoEncodeAV1RateControlFlagBitsKHR::eReferencePatternDyadic : return "ReferencePatternDyadic";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_QCOM_image_processing2 ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( BlockMatchWindowCompareModeQCOM value )
  {
    switch ( value )
    {
      case BlockMatchWindowCompareModeQCOM::eMin : return "Min";
      case BlockMatchWindowCompareModeQCOM::eMax : return "Max";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_QCOM_filter_cubic_weights ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CubicFilterWeightsQCOM value )
  {
    switch ( value )
    {
      case CubicFilterWeightsQCOM::eCatmullRom : return "CatmullRom";
      case CubicFilterWeightsQCOM::eZeroTangentCardinal : return "ZeroTangentCardinal";
      case CubicFilterWeightsQCOM::eBSpline : return "BSpline";
      case CubicFilterWeightsQCOM::eMitchellNetravali : return "MitchellNetravali";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_MSFT_layered_driver ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( LayeredDriverUnderlyingApiMSFT value )
  {
    switch ( value )
    {
      case LayeredDriverUnderlyingApiMSFT::eNone : return "None";
      case LayeredDriverUnderlyingApiMSFT::eD3D12 : return "D3D12";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_KHR_calibrated_timestamps ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( TimeDomainKHR value )
  {
    switch ( value )
    {
      case TimeDomainKHR::eDevice : return "Device";
      case TimeDomainKHR::eClockMonotonic : return "ClockMonotonic";
      case TimeDomainKHR::eClockMonotonicRaw : return "ClockMonotonicRaw";
      case TimeDomainKHR::eQueryPerformanceCounter : return "QueryPerformanceCounter";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_NV_display_stereo ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DisplaySurfaceStereoTypeNV value )
  {
    switch ( value )
    {
      case DisplaySurfaceStereoTypeNV::eNone : return "None";
      case DisplaySurfaceStereoTypeNV::eOnboardDin : return "OnboardDin";
      case DisplaySurfaceStereoTypeNV::eHdmi3D : return "Hdmi3D";
      case DisplaySurfaceStereoTypeNV::eInbandDisplayport : return "InbandDisplayport";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_KHR_maintenance7 ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PhysicalDeviceLayeredApiKHR value )
  {
    switch ( value )
    {
      case PhysicalDeviceLayeredApiKHR::eVulkan : return "Vulkan";
      case PhysicalDeviceLayeredApiKHR::eD3D12 : return "D3D12";
      case PhysicalDeviceLayeredApiKHR::eMetal : return "Metal";
      case PhysicalDeviceLayeredApiKHR::eOpengl : return "Opengl";
      case PhysicalDeviceLayeredApiKHR::eOpengles : return "Opengles";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_NV_cluster_acceleration_structure ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ClusterAccelerationStructureClusterFlagBitsNV value )
  {
    switch ( value )
    {
      case ClusterAccelerationStructureClusterFlagBitsNV::eAllowDisableOpacityMicromaps : return "AllowDisableOpacityMicromaps";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ClusterAccelerationStructureGeometryFlagBitsNV value )
  {
    switch ( value )
    {
      case ClusterAccelerationStructureGeometryFlagBitsNV::eCullDisable : return "CullDisable";
      case ClusterAccelerationStructureGeometryFlagBitsNV::eNoDuplicateAnyhitInvocation : return "NoDuplicateAnyhitInvocation";
      case ClusterAccelerationStructureGeometryFlagBitsNV::eOpaque : return "Opaque";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ClusterAccelerationStructureAddressResolutionFlagBitsNV value )
  {
    switch ( value )
    {
      case ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedDstImplicitData : return "IndirectedDstImplicitData";
      case ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedScratchData : return "IndirectedScratchData";
      case ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedDstAddressArray : return "IndirectedDstAddressArray";
      case ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedDstSizesArray : return "IndirectedDstSizesArray";
      case ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedSrcInfosArray : return "IndirectedSrcInfosArray";
      case ClusterAccelerationStructureAddressResolutionFlagBitsNV::eIndirectedSrcInfosCount : return "IndirectedSrcInfosCount";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ClusterAccelerationStructureIndexFormatFlagBitsNV value )
  {
    switch ( value )
    {
      case ClusterAccelerationStructureIndexFormatFlagBitsNV::e8 : return "8";
      case ClusterAccelerationStructureIndexFormatFlagBitsNV::e16 : return "16";
      case ClusterAccelerationStructureIndexFormatFlagBitsNV::e32 : return "32";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ClusterAccelerationStructureTypeNV value )
  {
    switch ( value )
    {
      case ClusterAccelerationStructureTypeNV::eClustersBottomLevel : return "ClustersBottomLevel";
      case ClusterAccelerationStructureTypeNV::eTriangleCluster : return "TriangleCluster";
      case ClusterAccelerationStructureTypeNV::eTriangleClusterTemplate : return "TriangleClusterTemplate";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ClusterAccelerationStructureOpTypeNV value )
  {
    switch ( value )
    {
      case ClusterAccelerationStructureOpTypeNV::eMoveObjects : return "MoveObjects";
      case ClusterAccelerationStructureOpTypeNV::eBuildClustersBottomLevel : return "BuildClustersBottomLevel";
      case ClusterAccelerationStructureOpTypeNV::eBuildTriangleCluster : return "BuildTriangleCluster";
      case ClusterAccelerationStructureOpTypeNV::eBuildTriangleClusterTemplate : return "BuildTriangleClusterTemplate";
      case ClusterAccelerationStructureOpTypeNV::eInstantiateTriangleCluster : return "InstantiateTriangleCluster";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ClusterAccelerationStructureOpModeNV value )
  {
    switch ( value )
    {
      case ClusterAccelerationStructureOpModeNV::eImplicitDestinations : return "ImplicitDestinations";
      case ClusterAccelerationStructureOpModeNV::eExplicitDestinations : return "ExplicitDestinations";
      case ClusterAccelerationStructureOpModeNV::eComputeSizes : return "ComputeSizes";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_NV_partitioned_acceleration_structure ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PartitionedAccelerationStructureOpTypeNV value )
  {
    switch ( value )
    {
      case PartitionedAccelerationStructureOpTypeNV::eWriteInstance : return "WriteInstance";
      case PartitionedAccelerationStructureOpTypeNV::eUpdateInstance : return "UpdateInstance";
      case PartitionedAccelerationStructureOpTypeNV::eWritePartitionTranslation : return "WritePartitionTranslation";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PartitionedAccelerationStructureInstanceFlagBitsNV value )
  {
    switch ( value )
    {
      case PartitionedAccelerationStructureInstanceFlagBitsNV::eFlagTriangleFacingCullDisable : return "FlagTriangleFacingCullDisable";
      case PartitionedAccelerationStructureInstanceFlagBitsNV::eFlagTriangleFlipFacing : return "FlagTriangleFlipFacing";
      case PartitionedAccelerationStructureInstanceFlagBitsNV::eFlagForceOpaque : return "FlagForceOpaque";
      case PartitionedAccelerationStructureInstanceFlagBitsNV::eFlagForceNoOpaque : return "FlagForceNoOpaque";
      case PartitionedAccelerationStructureInstanceFlagBitsNV::eFlagEnableExplicitBoundingBox : return "FlagEnableExplicitBoundingBox";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_EXT_device_generated_commands ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( IndirectCommandsTokenTypeEXT value )
  {
    switch ( value )
    {
      case IndirectCommandsTokenTypeEXT::eExecutionSet : return "ExecutionSet";
      case IndirectCommandsTokenTypeEXT::ePushConstant : return "PushConstant";
      case IndirectCommandsTokenTypeEXT::eSequenceIndex : return "SequenceIndex";
      case IndirectCommandsTokenTypeEXT::eIndexBuffer : return "IndexBuffer";
      case IndirectCommandsTokenTypeEXT::eVertexBuffer : return "VertexBuffer";
      case IndirectCommandsTokenTypeEXT::eDrawIndexed : return "DrawIndexed";
      case IndirectCommandsTokenTypeEXT::eDraw : return "Draw";
      case IndirectCommandsTokenTypeEXT::eDrawIndexedCount : return "DrawIndexedCount";
      case IndirectCommandsTokenTypeEXT::eDrawCount : return "DrawCount";
      case IndirectCommandsTokenTypeEXT::eDispatch : return "Dispatch";
      case IndirectCommandsTokenTypeEXT::eDrawMeshTasksNV : return "DrawMeshTasksNV";
      case IndirectCommandsTokenTypeEXT::eDrawMeshTasksCountNV : return "DrawMeshTasksCountNV";
      case IndirectCommandsTokenTypeEXT::eDrawMeshTasks : return "DrawMeshTasks";
      case IndirectCommandsTokenTypeEXT::eDrawMeshTasksCount : return "DrawMeshTasksCount";
      case IndirectCommandsTokenTypeEXT::eTraceRays2 : return "TraceRays2";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( IndirectExecutionSetInfoTypeEXT value )
  {
    switch ( value )
    {
      case IndirectExecutionSetInfoTypeEXT::ePipelines : return "Pipelines";
      case IndirectExecutionSetInfoTypeEXT::eShaderObjects : return "ShaderObjects";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( IndirectCommandsLayoutUsageFlagBitsEXT value )
  {
    switch ( value )
    {
      case IndirectCommandsLayoutUsageFlagBitsEXT::eExplicitPreprocess : return "ExplicitPreprocess";
      case IndirectCommandsLayoutUsageFlagBitsEXT::eUnorderedSequences : return "UnorderedSequences";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( IndirectCommandsInputModeFlagBitsEXT value )
  {
    switch ( value )
    {
      case IndirectCommandsInputModeFlagBitsEXT::eVulkanIndexBuffer : return "VulkanIndexBuffer";
      case IndirectCommandsInputModeFlagBitsEXT::eDxgiIndexBuffer : return "DxgiIndexBuffer";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_KHR_maintenance8 ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AccessFlagBits3KHR value )
  {
    switch ( value )
    {
      case AccessFlagBits3KHR::eNone : return "None";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_EXT_depth_clamp_control ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DepthClampModeEXT value )
  {
    switch ( value )
    {
      case DepthClampModeEXT::eViewportRange : return "ViewportRange";
      case DepthClampModeEXT::eUserDefinedRange : return "UserDefinedRange";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

  //=== VK_KHR_maintenance9 ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DefaultVertexAttributeValueKHR value )
  {
    switch ( value )
    {
      case DefaultVertexAttributeValueKHR::eZeroZeroZeroZero : return "ZeroZeroZeroZero";
      case DefaultVertexAttributeValueKHR::eZeroZeroZeroOne : return "ZeroZeroZeroOne";
      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
    }

  }

#if defined( VK_USE_PLATFORM_OHOS )
  //=== VK_OHOS_surface ===


  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( SurfaceCreateFlagBitsOHOS )
  {
    return "(void)";
  }
#endif /*VK_USE_PLATFORM_OHOS*/


} // namespace VULKAN_HPP_NAMESPACE

#if defined( __clang__ ) || defined( __GNUC__ )
#  pragma GCC diagnostic pop
#elif defined( _MSC_VER )
#  pragma warning( pop )
#endif

#endif